【公告】網站目前停止所有的課程訂閱服務,原有學員權益不受影響,造成不便還請見諒,我們正在打造更多課程以及圖書,包含 Python 為主的課程主題,未來將會合併且擴充目前的課程內容,提供全新課程訂閱服務,感謝學員的支持。
【公告】《Entity Framework 實務精要》 絕版優惠學習活動,是針對最後一批少量書籍絕版的短期特別活動,只提供 20 個名額(剩 5 名),教學影片要在今年暑假過後才會重新開放訂閱,並沒有提供之前單獨購書的讀者,還請見諒, 如果您需要教學影片,屆時再請參與,也感謝讀者學員的支持,我們正在開發更多的教學內容,歡迎與我們一起努力。
《Entity Framework 實務精要》 絕版優惠學習活動》

LINQ to XML:元素存取與轉換

除了直接萃取其中的XML元素,你也可以針對其中的元素執行進一步的運算,例如合併元素內容,或是針對其中的特定元素進行判斷運算,甚至執行型別轉換操作-直接取出特定元素轉換成為新的XML文件。
現在,假設我們要萃取出程式開發類的書籍資料以進行特價促銷活動,以下為XML文件內容:

<?xml version="1.0" encoding="utf-8" ?>
<Books>
<Book>
    <ISBN>978-986-6761-23-2</ISBN>
    <Title language= "Chinese" >HTML5從零開始</Title>
    <Title language= "Chinese" >Beginning HTML5 </Title>
    <Author type="auth"> 呂高旭</Author>
    <Pages>500 </Pages>
    <Price>
      <OPrice>550</OPrice>
      <Sale>500</Sale>
    </Price>
    <Category>
       <Main>Web 開發</Main>
       <Sub>HTML5</Sub>
    </Category> 
</Book>
</Books>

現在要將其中的價格打5折,最後整理成為一份XML文件,以方便電腦管理記錄所需的LINQ運算式如下:

XElement rows = new XElement("Books",
from row in xEle.Elements()
     select new XElement(
        "康廷圖書",
new XElement("書名",row.Element("Title")),
        new XElement("作者",row.Element("Author")),
        new XElement("特價",(int)row.Element("Price").Element("OPrice") * .5),
        row.Elements("ISBN") )
    );

這段一段 LINQ 建立以下的結果:

<Books>
  <康廷圖書>
    <書名>
      <Title language="Chinese">HTML5從零開始</Title>
    </書名>
    <作者>
      <Author type="auth"> 呂高旭</Author>
    </作者>
    <特價>275</特價>
    <ISBN>978-986-6761-23-2</ISBN>
  </康廷圖書>
</Books>

LINQ to XML:XDocument & XElement 簡述 
LINQ to XML:關於 LINQ to XML 
LINQ to XML:XML命名空間與元素識別名稱 
LINQ to XML:XML內容元素 
LINQ to XML:XML文件載入與輸出 
LINQ to XML:載入 XML 內容 
LINQ to XML:輸出XML文件 
LINQ to XML:列舉XML元素 
LINQ to XML:存取特定XML元素 
LINQ to XML:新增XML元素 
LINQ to XML:元素屬性 
LINQ to XML:利用LIQN萃取XML文件內容元素 
LINQ to XML:元素存取與轉換 

沒有留言: