1

これは私の 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 属性の Path の値を取得するにはどうすればよいですか?

4

1 に答える 1

1

使用:

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 式が評価され、この評価の結果が出力にコピーされます。

Id
于 2013-05-02T01:31:10.437 に答える