一尘不染

名称中不能包含':'字符,十六进制值0x3A

c#

我有一个包含其元素的xml文件,例如

<ab:test>Str</ab:test>

当我尝试使用代码访问它时:

XElement tempElement = doc.Descendants(XName.Get("ab:test")).FirstOrDefault();

这给了我这个错误:

System.Web.Services.Protocols.SoapException:服务器无法处理请求。-–>
System.Xml.XmlException:名称中不能包含’:’字符,十六进制值0x3A。

我应该如何访问?


阅读 1014

收藏
2020-05-19

共1个答案

一尘不染

如果要使用名称空间,则LINQ to XML真的很容易:

XNamespace ab = "http://whatever-the-url-is";
XElement tempElement = doc.Descendants(ab + "test").FirstOrDefault();

xmlns:ab=...在文档中查找一个部分,以找出“ ab”所指的名称空间URI。

2020-05-19