在用js读取XML文档的时候出现了点问题,望大家多多指点!谢谢!
如下:
xml文件
<ROOT>
<DATA>
<TAGS>
<TAG>
<TAGID>0000000036</TAGID>
<TAGCODE1>78</TAGCODE1>
<TAGCODE2/>
<MSGTYPE/>
<TAGDESC>Instructions to the Paying/Accepting/Negotiating Bank</TAGDESC>
<MOSTATUS>O</MOSTATUS>
<EXTTAG/>
<ROW1>0</ROW1>
<ROW2>0</ROW2>
<COL1>0</COL1>
<COL2>0</COL2>
<FORMFLAG/>
<RELATEDTAG/>
<RELATEDFLAG/>
<TAGINFO>
<LINEINFO>
<LINENO>1</LINENO>
<START>1</START>
<LEN>780</LEN>
<TYPE>String</TYPE>
<VALUE/>
<FIELD/>
<ROW>12</ROW>
<COL>65</COL>
</LINEINFO>
</TAGINFO>
<RULE/>
<REGEXP/>
<NETWORKRULES/>
<FORMAT/>
</TAG>
<TAG>
<TAGID>0000000060</TAGID>
<TAGCODE1>33</TAGCODE1>
<TAGCODE2>B</TAGCODE2>
<MSGTYPE/>
<TAGDESC>Currency/Original Ordered Amount</TAGDESC>
<MOSTATUS>O</MOSTATUS>
<EXTTAG/>
<ROW1>0</ROW1>
<ROW2>0</ROW2>
<COL1>0</COL1>
<COL2>0</COL2>
<FORMFLAG>N/M</FORMFLAG>
<RELATEDTAG/>
<RELATEDFLAG/>
<TAGINFO>
<LINEINFO>
<LINENO>1</LINENO>
<START>1</START>
<LEN>3</LEN>
<TYPE>String</TYPE>
<VALUE/>
<FIELD/>
<ROW>1</ROW>
<COL>18</COL>
</LINEINFO>
<LINEINFO>
<LINENO>1</LINENO>
<START>4</START>
<LEN>15</LEN>
<TYPE>Amount</TYPE>
<VALUE/>
<FIELD/>
<ROW>1</ROW>
<COL>18</COL>
</LINEINFO>
</TAGINFO>
<RULE>3!a15d</RULE>
<REGEXP>([A-Z]{3})([0-9,]{1,15})</REGEXP>
<NETWORKRULES/>
<FORMAT><CUR><AMOUNT></FORMAT>
</TAG>
</TAGS>
</DATA>
</ROOT> 我想读取每个<TAG>下的<LINEINFO>中的信息,并单独存放,就是说,加入我已经用
getElementsByTagName('ROOT/DATA/TAGS/TAG/TAGINFO');获取到TAGINFO这一层,怎样去获取每一个LINEINFO下的LINEINFO呢,如果用getElementsByTagName('ROOT/DATA/TAGS/TAG/TAGINFO/LINEINFO);获取了三条LINEINFO信息,又怎么区分它们属于哪个TAGINFO下的呢!
不知道我说的是不是很清楚,请指点!谢谢!
如下:
xml文件
<ROOT>
<DATA>
<TAGS>
<TAG>
<TAGID>0000000036</TAGID>
<TAGCODE1>78</TAGCODE1>
<TAGCODE2/>
<MSGTYPE/>
<TAGDESC>Instructions to the Paying/Accepting/Negotiating Bank</TAGDESC>
<MOSTATUS>O</MOSTATUS>
<EXTTAG/>
<ROW1>0</ROW1>
<ROW2>0</ROW2>
<COL1>0</COL1>
<COL2>0</COL2>
<FORMFLAG/>
<RELATEDTAG/>
<RELATEDFLAG/>
<TAGINFO>
<LINEINFO>
<LINENO>1</LINENO>
<START>1</START>
<LEN>780</LEN>
<TYPE>String</TYPE>
<VALUE/>
<FIELD/>
<ROW>12</ROW>
<COL>65</COL>
</LINEINFO>
</TAGINFO>
<RULE/>
<REGEXP/>
<NETWORKRULES/>
<FORMAT/>
</TAG>
<TAG>
<TAGID>0000000060</TAGID>
<TAGCODE1>33</TAGCODE1>
<TAGCODE2>B</TAGCODE2>
<MSGTYPE/>
<TAGDESC>Currency/Original Ordered Amount</TAGDESC>
<MOSTATUS>O</MOSTATUS>
<EXTTAG/>
<ROW1>0</ROW1>
<ROW2>0</ROW2>
<COL1>0</COL1>
<COL2>0</COL2>
<FORMFLAG>N/M</FORMFLAG>
<RELATEDTAG/>
<RELATEDFLAG/>
<TAGINFO>
<LINEINFO>
<LINENO>1</LINENO>
<START>1</START>
<LEN>3</LEN>
<TYPE>String</TYPE>
<VALUE/>
<FIELD/>
<ROW>1</ROW>
<COL>18</COL>
</LINEINFO>
<LINEINFO>
<LINENO>1</LINENO>
<START>4</START>
<LEN>15</LEN>
<TYPE>Amount</TYPE>
<VALUE/>
<FIELD/>
<ROW>1</ROW>
<COL>18</COL>
</LINEINFO>
</TAGINFO>
<RULE>3!a15d</RULE>
<REGEXP>([A-Z]{3})([0-9,]{1,15})</REGEXP>
<NETWORKRULES/>
<FORMAT><CUR><AMOUNT></FORMAT>
</TAG>
</TAGS>
</DATA>
</ROOT> 我想读取每个<TAG>下的<LINEINFO>中的信息,并单独存放,就是说,加入我已经用
getElementsByTagName('ROOT/DATA/TAGS/TAG/TAGINFO');获取到TAGINFO这一层,怎样去获取每一个LINEINFO下的LINEINFO呢,如果用getElementsByTagName('ROOT/DATA/TAGS/TAG/TAGINFO/LINEINFO);获取了三条LINEINFO信息,又怎么区分它们属于哪个TAGINFO下的呢!
不知道我说的是不是很清楚,请指点!谢谢!
function createXml(str)
{
if(document.all)
{
var xmlDom=new ActiveXObject("Microsoft.XMLDOM")
xmlDom.loadXML(str)
return xmlDom;
}
else
return new DOMParser().parseFromString(str, "text/xml");
}
var domxml = createXml('xml串');var oTag = domxml.getElementsByTagName("TAGINFO");
for(var i=0;i<oTag.length;i++)
{
var oInfo = oTag[i].getElementsByTagName("LINEINFO");
for(var i=0;i<oInfo.length;i++)
{
alert(oInfo[i].getElementsByTagName("LINENO")[0].firstChild.nodeValue);
alert(oInfo[i].getElementsByTagName("LEN")[0].firstChild.nodeValue);
}
}