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