gpt4 book ai didi

java - 如何使用 javascript 从嵌套标签中提取内容?

转载 作者:行者123 更新时间:2023-12-01 15:57:45 25 4
gpt4 key购买 nike

显然,我是 Javascript 新手,并且我确信我使用它的时间不会长久;这只是针对工作中的一个小项目。如果有人能帮助我解决这个问题,我将非常感激。

我正在尝试设置一个页面来显示来自外部 .xml 文件的数据,而我完全无法控制该文件。它的设置就像这样:

<lab id="1" name="A" inUse="14" offline="1" available="16">
</lab>
<lab id="2" name="B" inUse="11" offline="9" available="7">
<client id="x" status="available" mac="#" ip="#" name="COMPUTER1" />
<client id="y" status="available" mac="#" ip="#" name="COMPUTER2" />
</lab>

我使用以下代码通过表格显示数据:

<%
try
{
URL url = new URL("http://clstats.cc.nd.edu/public/xml-client.jsp");
InputStream input = url.openStream();
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document XMLInfo = builder.parse(input);

NodeList labs = XMLInfo.getElementsByTagName("lab");

int length = labs.getLength();
int i;
for (i = 0; i < length; i++)
{

Node current = labs.item(i);
String labName = current.getAttributes().getNamedItem("name").getTextContent();
String available = current.getAttributes().getNamedItem("available").getTextContent();
String offline = current.getAttributes().getNamedItem("offline").getTextContent();
String inUse = current.getAttributes().getNamedItem("inUse").getTextContent();
//Alternate the row colors
if( (i % 2) == 0)
{
%>
<tr style="background:url(#);">
<%
}
else
{
%>
<tr style="background:url(#);">
<%
}
%>
<td><%= labName %></td>
<td><%= available %></td>
<td><%= offline %></td>
<td><%= inUse %></td>
</tr>
</td>
<%
}
}
catch(Exception e){
}

%>

我在显示“lab”标签中的信息时没有遇到任何问题,但我只想显示特定实验室内的数据,假设实验室 id=2。有没有办法在单个特定的“lab”标签下显示“client”标签的属性?

谢谢,我希望我已经很好地解释了这个问题。正如你所看到的,我几乎是一个菜鸟,任何帮助将不胜感激。

预期结果:

<table>
<tr>
<td>Name</td>
<td>Status</td>
</tr>
<tr>
<td>COMPUTER1</td>
<td>Available</td>
</tr>
<tr>
<td>COMPUTER2</td>
<td>AVAILABLE</td>
</tr>
</table>

最佳答案

您正在使用getElementsByTagName在 XMLInfo 上获取实验。我想你也可以使用Nodelist clients = current.getElementsByTagName("client");然后迭代这些节点。

关于java - 如何使用 javascript 从嵌套标签中提取内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4764094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com