我有一个包含其元素的xml文件,例如<ab:test>Str</ab:test> 当我尝试使用代码访问它时:XElement tempElement = doc.Descendants(XName.Get("ab:test")).FirstOrDefault();这给了我这个错误:System.Web.Services.Protocols.SoapException:服务器无法处理请求。---> System.Xml.XmlException:名称中不能包含':'字符,十六进制值0x3A。我应该如何访问?
3 回答
扬帆大鱼
TA贡献1799条经验 获得超9个赞
如果要使用名称空间,则LINQ to XML真的很容易:
XNamespace ab = "http://whatever-the-url-is";
XElement tempElement = doc.Descendants(ab + "test").FirstOrDefault();
xmlns:ab=...在文档中查找一个部分,以找出“ ab”所指的名称空间URI。
FFIVE
TA贡献1797条经验 获得超6个赞
我有同样的错误。我发现我正在添加代码...
var ab = "http://whatever-the-url-is";
...但是ab被确定为字符串。这导致了OP报告的错误。我没有使用VAR关键字,而是使用了实际的数据类型XNamespace ...
XNamespace ab = "http://whatever-the-url-is";
...问题就消失了。
- 3 回答
- 0 关注
- 1727 浏览
添加回答
举报
0/150
提交
取消