C# 从xml文件中获取元素
我有一个问题: 我有办法C# 从xml文件中获取元素,c#,xml,C#,Xml,我有一个问题: 我有办法 private XmlElement ToXmlElement(string xml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); return doc.DocumentElement; } 我的输入xml字符串是: <?xml version="1.0"?> <Collect
private XmlElement ToXmlElement(string xml)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
return doc.DocumentElement;
}
我的输入xml字符串是:
<?xml version="1.0"?>
<Collection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:IEEE-1671:2009.02:Common">
<Item name="edsw">
<Collection />
</Item>
</Collection>
我需要从这个字符串XmlElement返回,如下所示:
<Collection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:IEEE-1671:2009.02:Common">
<Item name="edsw">
<Collection />
</Item>
</Collection>
没有
但是doc.DocumentElements只返回我:
<Item name="edsw" xmlns="urn:IEEE-1671:2009.02:Common">
<Collection />
</Item>
有什么方法可以实现它吗?请查看
外部XML
,在那里您可以找到您需要的:
doc.DocumentElement.OuterXml
这不会发生在我身上
DocumentElement
返回整个集合
。如何将结果转换为字符串?当我调试它时,我在DocumentElement内部xml中只看到这个,而不是整个集合,string-toString(XmlElement-xml){StringWriter sw=new-StringWriter();XmlTextWriter-Writer=new-XmlTextWriter(sw);xml.WriteTo(Writer);修复键入错误后返回sw.toString();},toString元素(toxmlement(xml))
返回整个集合
。这意味着toxmlement()
实际上执行了您希望它执行的操作XmlElement@MartinCh,你已经有了:doc.DocumentElement
,这就是你要返回的内容。调试时,请查看OuterXml
属性,而不是InnerXml
。