1

ドキュメントに次の XML 要素が定義されています。

<modelDef name="EmployeeOutput" description="Current Model Run output.">
    <resultSet name="Values">
        <field name="Net P&amp;L Impact" typeName="Decimal" formatString="C2"/>
    </resultSet>
</modelDef>

field 要素の name 属性に注意してください。値を取得すると、xml で定義されているエンコードされた値を保持したいアンパサンドが返されます。これは、属性の値を取得するために使用する単純なコードです

field.Attribute("name").Value

実際のアンパサンド記号ではなく & コードを確実に取得するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

1

実際には、"Net P&L Impact"&amp;、アンパサンドの XML コードであるため、XML でエンコードした値です。実際にエンコードされたが必要"Net P&amp;L Impact"な場合は、XML を変更する必要があります。

<modelDef name="EmployeeOutput" description="Current Model Run output.">
    <resultSet name="Values">
        <field name="Net P&amp;amp;L Impact" typeName="Decimal" formatString="C2"/>
    </resultSet>
</modelDef>

ただし、名前に が含まれている現実世界のエンティティに遭遇することはめったにありません&amp;。なぜそのようにエンコードしたいのですか?HTMLに出力しているからでしょうか。その場合HttpUtility.HtmlEncode()は、結果の値を HTML で出力するときに使用します。それが正しく安全な方法です。XML 解析コードが、値が出力されるコンテキストを予測することを期待しないでください。

于 2012-09-18T23:07:35.037 に答える