为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
富国沪深 2019-11-19 10:14:48
我有一个包含其元素的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。


查看完整回答
反对 回复 2019-11-19
?
FFIVE

TA贡献1797条经验 获得超6个赞

我有同样的错误。我发现我正在添加代码...


var ab = "http://whatever-the-url-is";

...但是ab被确定为字符串。这导致了OP报告的错误。我没有使用VAR关键字,而是使用了实际的数据类型XNamespace ...


XNamespace ab = "http://whatever-the-url-is";

...问题就消失了。


查看完整回答
反对 回复 2019-11-19
  • 3 回答
  • 0 关注
  • 1611 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信