0

オブジェクト ヘッダーに特殊文字「:」を含む次の xml があります。それを解析する方法。

<p606:ResponseData xmlns:p353="">
<p353:PersonId idOwner="loA">
<p353:IdValue name="78N">1fgsth</p353:IdValue> 
</p353:PersonId>
<p353:CInfo effectiveDate="2010-03-13" xsi:type="p353:cnt">
<p353:TCode>OYYT</p353:TCode> 
<p353:Ext>100</p353:Ext> 
</p353:ContactInfo>
</p606:ResponseData>

私は以下を使用しました

xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$title = $xml.find( "p353:TCode" );
$( "#somePlace" ).append( $title.text() );

しかし、うまくいきませんでした...さらに、次の行から effectiveDate の値が必要です

<p353:CInfo effectiveDate="2010-03-13" xsi:type="p353:cnt">

どうやってするの

4

2 に答える 2

1

まず最初に、:文字をエスケープする必要があります。これは、jQueryセレクターでデフォルトで疑似クラスを意味します。

$xml = $(xml);
Try this for title: $xml.find("p353\\:TCode").text();
And for date: $xml.find("p353\\:CInfo").attr('effectiveDate');

そして、次の質問が役立つかもしれません: 名前空間を使用したjQueryXML解析

于 2013-03-04T09:43:19.573 に答える
1

これらは、名前空間URIを参照するプレフィックスです。naespace対応のパーサーが必要です。ResponseDataノードの名前はではないことに注意してくださいp606:ResponseData

プレフィックスは、次のように要素の親チェーンのどこかで宣言する必要があります。

<p606:foo xmlns:p606="http://www.example.com/portal/606">
    <p606:bar property="value"/>
</p606:foo>

p353フラグメントでは、それが定義されていないことは明らかです。

于 2013-03-04T09:43:41.577 に答える