Xml SelectSingleNodes中的namespaces参数需要什么格式

Xml SelectSingleNodes中的namespaces参数需要什么格式,xml,windows-runtime,Xml,Windows Runtime,有人能提供一个使用WinRT函数的例子吗?我不清楚第二个参数期望的是什么,也找不到示例 public IXmlNode SelectSingleNodeNS( string xpath, object namespaces ) 包含一个字符串,该字符串指定要在XPath中使用的名称空间 需要从外部定义新名称空间时的表达式。 名称空间是以XML样式定义的,作为一个以空间分隔的名称列表 命名空间声明属性。您可以使用此属性设置 默认名称空间也是如此 namespaces参数显然只是一个字符

有人能提供一个使用WinRT函数的例子吗?我不清楚第二个参数期望的是什么,也找不到示例

public IXmlNode SelectSingleNodeNS(
  string xpath, 
  object namespaces
)
包含一个字符串,该字符串指定要在XPath中使用的名称空间 需要从外部定义新名称空间时的表达式。 名称空间是以XML样式定义的,作为一个以空间分隔的名称列表 命名空间声明属性。您可以使用此属性设置 默认名称空间也是如此


namespaces参数显然只是一个字符串(尽管声明为object),它必须包含格式为“xmlns:aliasname='namespace'”(XML样式)的XML命名空间声明。比如说

xmlDocument.DocumentElement.SelectNodesNS("cb:person", 
    "xmlns:cb='http://www.addison-wesley.de/codebook'");
使用如下XML文档:

<?xml version="1.0" encoding="utf-8" ?>
<persons xmlns="http://www.addison-wesley.de/codebook">
  <person id="1000">
    <firstname>Zaphod</firstname>
    <lastname>Beeblebrox</lastname>
    <type>Alien</type>
  </person>
...
</persons> 

扎菲德
山毛榉
外星人
...
注意,XPath中使用了别名(cb:)

如果名称空间不是XML样式,则会出现臭名昭著的COM错误E_Fail

SelectNodesNS的(较差)文档说明: 包含一个字符串,该字符串指定在需要外部定义新名称空间时在XPath表达式中使用的名称空间。名称空间以XML样式定义,作为名称空间声明属性的空间分隔列表。您也可以使用此属性设置默认名称空间


根据该规则,名称空间必须是一个字符串,并且可以包含多个XML名称空间(尚未尝试)。问题仍然悬而未决,为什么它是一个对象

不,没有表现惩罚。看看这个[response][1][1]:我读了MSDN的“containsastring”,并假设该参数是某种复杂的对象、数组或其他东西,其数组项或属性具有某种未记录的名称,类型为string,具有名称空间URI。真是一场噩梦;我花了一个小时在谷歌上搜索,想知道该怎么处理它,但你最好的答案是它。谢谢。我可以在这里挂接一下,问一下您是否成功地在WinRT XML代码中使用了xpath 2.0函数,如xs:date?我得到:
0x80004005-JavaScript运行时错误:未知方法//CatalogItem[@code='101'和-->xs:date('2011-09-22T00:00:00.000Z'))