簡體   English   中英

使用XDocument使用C#從XML讀取根元素不會顯示根元素

[英]Using XDocument to read the root element from XML using C# is not showing the root element

我是C#編程的新手,正在嘗試使用C#更新XML文件。 在這里,當我嘗試使用XDocument獲取根元素時,它在文件中顯示了完整的腳本。

下面是我的代碼說明:

我具有以下功能,它正在從命令行參數讀取文件路徑。

private XDocument doc;

public void Update(string filepath)
{
   string filename = Path.GetFileName(filepath);

   doc = xDocument.Load(filepath);

   XElement rootelement = doc.Root;

}

在文件路徑變量中,我們采用路徑“ E:\\ BuilderTest \\ COMMON.wxs”

然后,我們使用XDocument加載文件。

但是,當我們嘗試從文件中獲取rootelement時,它沒有顯示root元素。 而是在文件中顯示完整數據。

但是,當我使用XmlDocument()而不是XDocument()時,我只能看到根元素。

以下是使用XmlDocument()的代碼:

private XmlDocument doc;

public void Update(string filepath)
{
   string filename = Path.GetFileName(filepath);

   doc = new XmlDocument();
   doc.Load(filepath);

   XmlElement rootelement = doc.DocumentElement;
}

請為此提供您寶貴的意見,以幫助我。

XDocumentXmlDocument是根據要求遵循的不同類結構。

XDocument的工作方式如下

XDocument doc;
doc = XDocument.Load(filepath);
XElement root = doc.Root;

根,后代,元素是XDocument提供的操作。 對於每個節點,它給出XElement

在您的情況下,您應該使用doc.Root查找元素,然后使用.Value獲取其值

XElement帶有System.Xml.Linq 它是從XNode派生的。 它為您提供每個節點的序列化信息。

另一方面,XMLDocument的工作方式如下

XmlDocument doc;
doc = new XmlDocument();
doc.Load(filepath);
XmlElement rootelement = doc.DocumentElement;

XmlElementSystem.Xml 它從XmlNode派生,而XmlNode再次從IEnumerable派生。 它以可枚舉的形式為您提供信息,您可以輕松地對其進行解析。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM