XML-JavaScript->;如何将XML标记显示为HTML

XML-JavaScript->;如何将XML标记显示为HTML,javascript,xml,xslt,Javascript,Xml,Xslt,我遇到的问题是,当XML节点没有值时,open和close标记位于不同的行上,如下所示 我收到的数据是: <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_Dat

我遇到的问题是,当XML节点没有值时,open和close标记位于不同的行上,如下所示

我收到的数据是:

 <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>
Medicate Parts A&amp;B,,,,,,,,,AdamJulie
应该是什么时候:

Medicare Parts A&amp;B,,,,,AdamJulie
数组的长度与行数相同,在本例中为10,其中应为5

我想知道的是如何读取带有数据的
td
标记

我想让innerHTML读取folling代码作为示例:

 <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>
Medicate Parts A&amp;B,,,,,,,,,AdamJulie
表示空值


这可能吗?如果可能,我将如何做?或者用
替换
标记,用
替换
标记?

innerHTML方法返回HTML标记中的任何内容。如果您想获取包含数据的HTML标记,我建议您使用以下方法:

document.getElementsByTagName('td')

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


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

您可以通过如下流读取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>";
并使用正则表达式删除所有标记

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

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

祝你好运…

也许可以查看库。

使用innerHTML的原因是我正在使用
获取数据。这些标签存储在“PurposeOfVisite”分区中。我有点困惑。你说你想读“医疗保险A&B部分”而不是“医疗保险A&B部分”。这是不可能的,innerHTML将不会读取该内容。我也不确定xslt是从哪里来的,但也许您想要的是将
禁用输出转义=“yes”
添加到该值?抱歉,也许我应该更深入地了解我想要的内容。转换xml文件需要xsl文件。该eXML文件不仅用作源文件,还用于生成整个网页。看到
标记在div内,我希望
得到如上所述的结果。获取带有标记的数据。innerHTML随后将获取div中的所有数据,包括
标记。我不确定这是否是一种迂回的方法,因为我对xml和xslt有点陌生。我发现,
disable output escaping=“yes”
不会对回复进行更改。然后我将寻找一个XML解析器:)
document.getElementsByTagName('td')
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>";
myXMLArray = XMLString .split("</td>");
var regex = /(<([^>]+)>)/ig;

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