0

私が抱えている問題は、XMLノードに値がない場合、開始タグと終了タグがこのように異なる行にあることです

<td ID="ref_4b73aa95ffd2289_phrPayer_1_DateEffective">
</td>
<td ID="ref_4b73aa95ffd2289_phrPayer_1_DateTerminated">
</td>

ノードにデータがある場合、開始タグと終了タグは 1 行にあります。

<td ID="ref_4b73ba85ffd2289_phrPayer_1_Company">Medicare Parts A&amp;B</td>

私が抱えている問題は、データを読み取るときに行ごとに読み取られることです。使用される XML データは次のとおりです。

 <tr>
     <td ID="ref__phrPayer_1_Company">Medicare Parts A&amp;B</td>
     <td ID="ref__phrPayer_1_DateEffective">
     </td>
     <td ID="ref__phrPayer_1_DateTerminated">
     </td>
     <td ID="ref__phrPayer_1_PolicyNumber">
     </td>
     <td ID="ref__phrPayer_1_GroupNumber">
     </td>
     <td ID="ref__phrPayer_1_SubscriberName">AdamJulie</td>
 </tr>

*上記のコーディングは 6 列で構成されていますが、上記のように 10 行のコーディングがあります。それが主な問題です。*

Arrayを使用してデータを分割しようとすると:

var purposeArray = purposeOfVisit.innerHTML.split("\n");

私が受け取るデータは次のとおりです。

Medicate Parts A&amp;B,,,,,,,,,AdamJulie

それがいつあるべきか:

Medicare Parts A&amp;B,,,,,AdamJulie

配列の長さは行数と同じで、この場合は 10 ですが、5 である必要があります。

私が知りたいのはtd、 data でタグを読み取る方法です。

例として、innerHTML に次のコードを読み取らせます。

<td ID="ref__phrPayer_1_Company">Medicare Parts A&amp;B</td>
<td ID="ref__phrPayer_1_DateEffective">
</td>
<td ID="ref__phrPayer_1_DateTerminated">
</td>
<td ID="ref__phrPayer_1_PolicyNumber">
</td>
<td ID="ref__phrPayer_1_GroupNumber">
</td>
<td ID="ref__phrPayer_1_SubscriberName">AdamJulie</td>

それ以外の:

Medicare Parts A&amp;B
.
.
.
.
.
.
.
.
AdamJulie

.null 値を表します。

これは可能ですか?<td>または、タグ&lt;<td></td>タグを</td>&lt;?に置き換えます。

4

4 に答える 4

1

このような方法で XML パーサーを使用する代わりに、次のようにストリームを介して xml 文字列を読み取ることができます。

var XMLString = "<tbody><tr><td ID=''>Medicare Parts A&amp;B</td><td ID=''></td><td ID=''></td><td ID=''></td><td ID=''></td><td ID=''>AdamJulie</td></tr><tr><td ID=''>Test2</td><td ID=''></td><td ID=''></td><td ID=''>123</td><td ID=''></td><td ID=''></td></tr></tbody>";

split各列の後の文字列をどこに置くことができますか:

myXMLArray = XMLString .split("</td>");

そして、正規表現を使用してすべてのタグを削除します。

var regex = /(<([^>]+)>)/ig;

for( var x = 0; x < XMLString .length; x++)
{
result[x] = XMLString [x].replace(regex, "");
}

幸運を...

于 2013-04-08T09:18:45.120 に答える
0

独自の XML パーサーを作成しようとしていますが、それは間違っています。XML を単純に行の境界で分割してから、各行を個別に解析することはできません。

優れた XML パーサーは数多くありますが、そのうちの 1 つを使用することをお勧めします。自分で XML を解析する必要がある場合は、パーサー作成の技術を学ぶ必要があります。アマチュアの仕事ではありません。

于 2013-04-04T07:17:31.027 に答える
0

innerHTML メソッドは、HTML タグ内にあるものをすべて返します。データを含む HTML タグを取得する場合は、次のようなものを使用することをお勧めします。

document.getElementsByTagName('td')
于 2013-04-04T06:30:08.027 に答える