解析带有名称空间的xml文件时出错

用户名

xml位于此处:

https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml 

我想获取time元素属性<Cube time="2016-08-04">

我在C#中的代码如下,但出现错误。

    private string function()
    {
        XmlDocument Doc = new XmlDocument();
        Doc.Load("https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");

        XmlNamespaceManager nsmgr = new XmlNamespaceManager(Doc.NameTable);
        nsmgr.AddNamespace("gesmes", "http://www.gesmes.org/xml/2002-08-01");

        XmlNodeList nodes = Doc.SelectNodes("gesmes:Envelope/Cube", nsmgr);
        XmlNode node = nodes[0].SelectSingleNode("Cube");
        return node.Attributes["time"].Value;
    }

错误(我从网络服务调用):

错误在这条线上

XmlNode node = nodes[0].SelectSingleNode("Cube");

错误:

由于内部错误,服务器无法处理请求。有关错误的更多信息,请打开服务器上的IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从配置行为),以便将异常信息发送回客户端,或者按照Microsoft .NET Framework SDK文档和检查服务器跟踪日志。

服务器堆栈跟踪:
位于System.ServiceModel.Channels.ServiceChannel.HandleReply(
ProxyOperationRuntime操作,ProxyRpc&rpc)
位于System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(消息答复,MessageFault错误,字符串操作,MessageVersion版本,FaultConverter faultConverter)。 ServiceModel.Channels.ServiceChannel.Call(字符串操作,布尔型单向,ProxyOperationRuntime操作,系统处的Object [] ins,Object [] outs,TimeSpan超时),
位于System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime操作)
。 ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage消息)

在异常重新抛出[0]:
在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(即时聊天reqMsg,即时聊天retMsg)
在System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&MSGDATA,的Int32类型)
在IRate.DoWork( )在RateClient.DoWork()

marc_s

忽略默认的XML XML命名空间!

<gesmes:Envelope 
        xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" 
        xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
        ***** Default XML namespace

试试下面的代码:

XmlDocument Doc = new XmlDocument();
Doc.Load("https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");

XmlNamespaceManager nsmgr = new XmlNamespaceManager(Doc.NameTable);
nsmgr.AddNamespace("gesmes", "http://www.gesmes.org/xml/2002-08-01");

// add another namespace alias for the *default* namespace
nsmgr.AddNamespace("default", "http://www.ecb.int/vocabulary/2002-08-01/eurofxref");

// *USE* the default namespace for those nodes that don't have an explicit
// XML namespace alias in your XML document
XmlNodeList nodes = Doc.SelectNodes("gesmes:Envelope/default:Cube", nsmgr);
XmlNode node = nodes[0].SelectSingleNode("default:Cube", nsmgr);

string value = node.Attributes["time"].Value;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

解析具有名称空间的 XML 文件

来自分类Dev

解析带有XDocument的XML时无法解析名称空间

来自分类Dev

在解析带有XDocument的XML时无法解析名称空间

来自分类Dev

使用j查询解析具有名称空间的xml文件

来自分类常见问题

如何通过带有名称空间的SAXBuilder生成xml?

来自分类Dev

不读取带有名称空间的XML元素

来自分类Dev

如何选择带有名称空间的XML节点

来自分类Dev

不读取带有名称空间的XML元素

来自分类Dev

如何选择带有名称空间的XML节点

来自分类Dev

创建带有名称异常的bean时出错

来自分类Dev

Python 3x:使用python xml.etree解析具有名称空间的xml文件

来自分类Dev

带有名称空间包的pyinstaller

来自分类Dev

带有多个名称空间的jqGrid xml解析

来自分类Dev

使用带有lxml的嵌套名称空间解析XML属性

来自分类Dev

有名称空间时的UPDATEXML

来自分类Dev

带有名称空间的python进程xml字符串

来自分类Dev

如何在Java X路径中获取带有名称空间的嵌套xml的属性

来自分类Dev

使用Python lxml解析具有名称空间的XML文档

来自分类Dev

在Python中使用ElementTree解析具有名称空间的XML

来自分类Dev

如何在带有名称空间的类文件中使用定义

来自分类Dev

Spring Boot Data JPA 问题——创建带有名称的 bean 时出错

来自分类Dev

spring-data-jpa 创建带有名称的 bean 时出错

来自分类Dev

使用XmlDocument从具有或不具有名称空间的xml文件读取

来自分类Dev

下载名称中带有“/”或“\”的文件时出错

来自分类Dev

当XML上存在默认名称空间时,如何使用XSLT添加具有名称空间的属性

来自分类Dev

解析带有对象的 json 文件时出错

来自分类Dev

当嵌套对象具有名称空间时如何反序列化XML

来自分类Dev

当嵌套对象具有名称空间时如何反序列化XML

来自分类Dev

如何从具有名称空间的xml文件中提取值?

Related 相关文章

  1. 1

    解析具有名称空间的 XML 文件

  2. 2

    解析带有XDocument的XML时无法解析名称空间

  3. 3

    在解析带有XDocument的XML时无法解析名称空间

  4. 4

    使用j查询解析具有名称空间的xml文件

  5. 5

    如何通过带有名称空间的SAXBuilder生成xml?

  6. 6

    不读取带有名称空间的XML元素

  7. 7

    如何选择带有名称空间的XML节点

  8. 8

    不读取带有名称空间的XML元素

  9. 9

    如何选择带有名称空间的XML节点

  10. 10

    创建带有名称异常的bean时出错

  11. 11

    Python 3x:使用python xml.etree解析具有名称空间的xml文件

  12. 12

    带有名称空间包的pyinstaller

  13. 13

    带有多个名称空间的jqGrid xml解析

  14. 14

    使用带有lxml的嵌套名称空间解析XML属性

  15. 15

    有名称空间时的UPDATEXML

  16. 16

    带有名称空间的python进程xml字符串

  17. 17

    如何在Java X路径中获取带有名称空间的嵌套xml的属性

  18. 18

    使用Python lxml解析具有名称空间的XML文档

  19. 19

    在Python中使用ElementTree解析具有名称空间的XML

  20. 20

    如何在带有名称空间的类文件中使用定义

  21. 21

    Spring Boot Data JPA 问题——创建带有名称的 bean 时出错

  22. 22

    spring-data-jpa 创建带有名称的 bean 时出错

  23. 23

    使用XmlDocument从具有或不具有名称空间的xml文件读取

  24. 24

    下载名称中带有“/”或“\”的文件时出错

  25. 25

    当XML上存在默认名称空间时,如何使用XSLT添加具有名称空间的属性

  26. 26

    解析带有对象的 json 文件时出错

  27. 27

    当嵌套对象具有名称空间时如何反序列化XML

  28. 28

    当嵌套对象具有名称空间时如何反序列化XML

  29. 29

    如何从具有名称空间的xml文件中提取值?

热门标签

归档