0

我遇到的问题是,当 XML 节点没有值时,打开和关闭标签位于不同的行上,如下所示

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

当节点有数据时,打开和关闭标签在一行:

<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带有数据的标签

我希望 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

表示一个空.值。

这可能吗?如果是这样,我该怎么做?或<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 回答
1

也许去看看Sarissa图书馆。

于 2013-04-08T09:58:27.303 回答
0

innerHTML 方法返回 HTML 标记内的任何内容。如果你想用数据获取 HTML 标签,我建议你使用类似的东西:

document.getElementsByTagName('td')
于 2013-04-04T06:30:08.027 回答
0

您正在尝试编写自己的 XML 解析器,但您做错了。您不能简单地在行边界处拆分 XML,然后分别解析每一行。

有很多好的 XML 解析器可用,最好使用其中之一。如果您必须自己解析 XML,那么您需要学习解析器编写的艺术;这不是业余爱好者的工作。

于 2013-04-04T07:17:31.027 回答