我是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;
}
请为此提供您宝贵的意见,以帮助我。
答案 0 :(得分:1)
XDocument
和XmlDocument
是根据要求遵循的不同类结构。
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;
XmlElement
随System.Xml
一起提供。它是从XmlNode
派生的,而IEnumerable
也是从{{1}}派生的。
它以可枚举的形式为您提供信息,您可以轻松地对其进行解析。