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