繁体   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