我已经完成了在经典ASP网站上工作的任务,需要在循环中解析以下信息。
XML:
<rows>
<row id='3'>
<cell>3-1</cell>
<cell>3-2</cell>
<cell>3-3</cell>
<cell>3-4</cell>
<row id='2'>
<cell>2-1</cell>
<cell>2-2</cell>
<cell>2-3</cell>
<cell></cell>
</row>
<row id='A'>
<cell>A-1</cell>
<cell>A-2</cell>
<cell>A-3</cell>
<cell>A-4</cell>
</row>
</row>
<row id='7'>
<cell>ABC</cell>
<cell>3</cell>
<cell>0</cell>
<cell></cell>
</row>
<row id='B'>
<cell>B-1</cell>
<cell>B-2</cell>
<cell>B-3</cell>
<cell>B-4</cell>
<row id='B-1'>
<cell>B-1-1</cell>
<cell>B-2-2</cell>
<cell>B-3-3</cell>
<cell>B-4-4</cell>
<row id='B-1-1'>
<cell>B-1-1</cell>
<cell>B-2-2</cell>
<cell>B-3-3</cell>
<cell>B-4-4</cell>
</row>
</row>
</row>
</rows>
通缉结果:
PID: / ID : 3 / 3-1/3-2/3-3/3-4/
PID: 3/ ID : 2 / 2-1/2-2/2-3//
PID: 3/ ID : A / A-1/A-2/A-3/A-4/
PID: / ID : 7 / ABC/3/0//
PID: / ID : B / B-1/B-2/B-3/B-4/
PID: B/ ID : B-1 / B-1-1/B-2-2/B-3-3/B-4-4/
PID: B-1/ ID : B-1-1 / B-1-1/B-2-2/B-3-3/B-4-4/
经典ASP代码:
Set Nodes = oDOM.getElementsByTagName("row")
For each Subnodes in Nodes
Response.Write("PID : " + ?????? + " / ")
Response.Write("ID : " + CStr(SubNodes.getElementsByTagName("cell")(0).parentNode.Attributes(0).Text) + " / ")
Response.Write(SubNodes.getElementsByTagName("cell")(0).Text + "/")
Response.Write(SubNodes.getElementsByTagName("cell")(1).Text + "/")
Response.Write(SubNodes.getElementsByTagName("cell")(2).Text + "/")
Response.Write(SubNodes.getElementsByTagName("cell")(3).Text + "/")
Response.WRite("<br>")
Next
我希望获得父ID,但Nodes.parentNode不起作用。我怎样才能得到父母的身份?提前谢谢。
答案 0 :(得分:0)
变量Subnodes
已包含您想要的“行”,因此SubNodes.Attributes(0).Text
应生成行ID。
我还建议只执行SubNodes.getElementsByTagName("cell")
一次(显然每行)并将结果存储在一个变量中,然后您可以将其作为数组访问,如下所示:
set cells = SubNodes.getElementsByTagName("cell")
Response.Write(cells(0).Text + "/")
Response.Write(cells(1).Text + "/")
Response.Write(cells(2).Text + "/")
Response.Write(cells(3).Text + "/")
否则,您正在搜索DOM中所有正在使用的项目的子单元格。