这是我的xPathNavigator的样子:
<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的值。
这是我尝试过的:
xPathNavigator.GetAttribute("DisplayMemberBinding", "") //Gives me {Binding Path=Id, Mode=OneWay}
xPathNavigator.GetAttribute("DisplayMemberBinding/Binding/@Path", "") //Gives me empty string如何获取DisplayMemberBinding属性中路径的值?
发布于 2013-05-02 09:31:10
使用的
xPathNavigator.Evaluate
(@"substring-before(substring-after(@DisplayMemberBinding, 'Path='),
',')"
);当然,您需要将结果转换为string。
基于XSLT的验证
<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文档上应用此转换时的:
<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表达式,并将计算结果复制到输出:
Idhttps://stackoverflow.com/questions/16322738
复制相似问题