2010-12-03 15 views
1

一部のフィールドに山括弧を含むデータがあります。データの角括弧を処理できないASP.NET Treeviewコントロール

Visual Studio 2005 ASP.Netで&lt:または>(または16進コードでも)に正しくエスケープされていても、フィールドデータは最初の山括弧で切り捨てられています。データを中括弧で置きかえれば、うまく表示されます。

例データ(エスケープ):

<ITReview><row TopNode="REQ 123456 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/><row TopNode="REQ 456789 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/></ITReview><ITReview><row TopNode="REQ 123456 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/><row TopNode="REQ 456789 TT Description <Date sent to app dev> <Priority> <SubTask Status>"/></ITReview>

例のデータは、(エスケープ)

<ITReview> 
<row TopNode="REQ 123456&#x09;TT Description&#x09;&lt;Date sent to app dev&gt;&#x09;&lt;Priority&gt;&#x09;&lt;SubTask Status&gt;"/> 
<row TopNode="REQ 456789&#x09;TT Description&#x09;&lt;Date sent to app dev&gt;&#x09;&lt;Priority&gt;&#x09;&lt;SubTask Status&gt;"/> 
</ITReview> 

ないトリッキーな何もして、ファイル名を設定したXMLDataSourceにツリービューを結合し、バインディングをDataMember = rowおよびTextField = TopNodeとして指定します。

私はオンラインで何かを見つけられませんでしたが、もちろん「アングルブラケット」を検索すると結果の数が増えますが、減少しません。

誰でもこのようなものを見ますか?回避策または解決策を知っていますか? ASP.Net v2.0.50727。

アップデート:私が使用したCDATAの例です。うまくいきませんでした。

<ITReview> <TopNode> <MainData> <![CDATA[REQ 123456 TT Description <Date sent to app dev> <Priority> <SubTask Status>]]> </MainData> </TopNode> <TopNode> <MainData> <![CDATA[REQ 456789 TT Description <Date sent to app dev> <Priority> <SubTask Status>]]> </MainData> </TopNode> </ITReview>

答えて

0

角括弧を二重にエンコードすると、少なくともあなたが探していると思う方法で動作するように見えます。だから<の代わりに&amp;lt;

私はこの考えの原因を探し回って、あなたが変えることができる設定があるかもしれない。それはXmlAttributeクラスのValueプロパティから来ているようですが、私はそれをオフにする方法はありません。

+0

ジョージによって、それは動作します!ありがとう!少し不明瞭なパーサの問題のように見えます。私は情報だけのためにそれをMSに報告するかもしれません。 –

0

代わりTopNode =「」属性にあなたのデータを有していると、あなたは<row><TopNode><![CDATA[long string]]></TopNode></row>を有するように、あなたがソースXMLを変更することができます)(HTMLEncodeのコンテキスト内でそれを書い

0

をお試しください?

+0

非常に良いアイデア。残念ながら、それは動作しませんでした –