首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XPathNavigator读取属性中的属性值

使用XPathNavigator读取属性中的属性值
EN

Stack Overflow用户
提问于 2013-05-02 00:59:13
回答 1查看 317关注 0票数 1

这是我的xPathNavigator的样子:

代码语言:javascript
复制
<mux:Column Name="id" DisplayMemberBinding="{Binding Path=Id, Mode=OneWay}" Width="100" DisplayName="Header_Id" Property="Id" DataType="s:String" xmlns:mux="http://schemas.microsoft.com/SystemCenter/Common/UI/Views/GridView" />

我想读取DisplayMemberBinding属性中Path的值。

这是我尝试过的:

代码语言:javascript
复制
xPathNavigator.GetAttribute("DisplayMemberBinding", "") //Gives me {Binding Path=Id, Mode=OneWay}

xPathNavigator.GetAttribute("DisplayMemberBinding/Binding/@Path", "") //Gives me empty string

如何获取DisplayMemberBinding属性中路径的值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-02 09:31:10

使用的

代码语言:javascript
复制
xPathNavigator.Evaluate
  (@"substring-before(substring-after(@DisplayMemberBinding, 'Path='),
                     ',')"
  );

当然,您需要将结果转换为string

基于XSLT的验证

代码语言:javascript
复制
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:mux="http://schemas.microsoft.com/SystemCenter/Common/UI/Views/GridView">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:template match="/*">
  <xsl:value-of select=
  "substring-before(substring-after(@DisplayMemberBinding, 'Path='),
                    ',')"/>
 </xsl:template>
</xsl:stylesheet>

在所提供的XML文档上应用此转换时的

代码语言:javascript
复制
<mux:Column Name="id"
DisplayMemberBinding="{Binding Path=Id, Mode=OneWay}"
Width="100" DisplayName="Header_Id"
Property="Id" DataType="s:String"
xmlns:mux="http://schemas.microsoft.com/SystemCenter/Common/UI/Views/GridView" />

计算XPath表达式,并将计算结果复制到输出:

代码语言:javascript
复制
Id
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16322738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档