LINQ to XML:XML內容元素

XML文件由許多不同的類型的元素所組成,System.Xml.Linq命名空間裡,針對各種類型的元素,封裝了其對應的類別,除了XDocumnet以及XElement,還有數個重要的類別,列舉如下表,每一個類別分別代表XML文件的特定內容元素,包含註解、宣告或是命名空間等等,當我們需要操作XML文件內容的時候,只需引用相關的類別即可。

元素說明
Extensions提供LINQ to XML所需的延伸方法
XAttribute表示一個XML屬性。
XCData表示一個包含CDATA的文字節點。
XComment表示一個XML註解。
XContainer表示一個能夠包含其他節點的節集合。
XDeclaration表示一個XML宣告。
XDocument表示一份XML文件。
XDocumentType表示一個XML文件型別定義(DTD)。
XElement表示一個XML元素。
XName表示一個XML元素或是屬性的名稱。
XNamespace表示一個文字XML命名空間
XNode表示XML樹狀架構中一個節點的抽象概念。
XObject表示XML文件中的一個節點或是屬性。
XProcessingInstruction表示XML處理指示。
XText表示一個文字節點。

以下的程式碼透過表列的類別,建立一份 XML 文件。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        XNamespace xnm = "http://kangting.tw";
        XName xn = xnm + "Books";
        XDocument xDoc = new XDocument(
                new XDeclaration("1.0", "UTF-8", "yes"),
                new XProcessingInstruction("LINQ", "LINQ入門教學"),
                new XComment("悅知文化嚴選圖書"),
                new XElement(xn,
                    new XElement(xnm + "Book",
                        new XComment("史上最強Photoshop技術圖書"),
                        new XElement(xnm + "BookTitle", "Photoshop CS3 影像創造力基礎講堂"),
                        new XElement(xnm + "BookISBN", "978-986-6761-21-8")),
                    new XElement(xnm + "Book",
                        new XComment("MAYA聖典,不可不看"),
                        new XElement(xnm + "BookTitle", "MAYA 火星講堂"),
                        new XElement(xnm + "BookISBN", "978-986-6761-19-5")),
                    new XElement(xnm + "Book",
                        new XComment("Photoshop超可愛手繪技巧完全披露"),
                        new XElement(xnm + "BookTitle", "手繪魅力100% ♥ Photoshop+Wacom ♥ "),
                        new XElement(xnm + "BookISBN", "978-986-6761-17-1"))));
        string str = xDoc.Declaration + "\n";
        str += xDoc;
        XMLRichTextBox.Text = str;
    }
}}

輸出結果如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?LINQ LINQ入門教學?>
<!--悅知文化嚴選圖書-->
<Books xmlns="http://kangting.tw">
  <Book>
    <!--史上最強Photoshop技術圖書-->
    <BookTitle>Photoshop CS3 影像創造力基礎講堂</BookTitle>
    <BookISBN>978-986-6761-21-8</BookISBN>
  </Book>
  <Book>
    <!--MAYA聖典不可不看-->
    <BookTitle>MAYA 火星講堂</BookTitle>
    <BookISBN>978-986-6761-19-5</BookISBN>
  </Book>
  <Book>
    <!--Photoshop超可愛手繪技巧完全披露-->
    <BookTitle>手繪魅力100% Photoshop+Wacom </BookTitle>
    <BookISBN>978-986-6761-17-1</BookISBN>
  </Book>
</Books>





沒有留言: