gpt4 book ai didi

java - 如何通过java获取Xml的本地属性值

转载 作者:行者123 更新时间:2023-12-02 04:45:50 24 4
gpt4 key购买 nike

我尝试了一些场景,但无法通过java获取以下xml的属性值

enter code here

<?xml version="1.0" encoding="utf-8"?>
<Rules>
<Rule ID="1" Name="Ms 45 MD -&gt; BS 1 ON @ 300 secs" Valid="1">
<Triggers Count="1">
<Trigger ID="1" TriggerType="Device" DeviceID="4" DeviceIndex="1" GroupingType="AND" Condition="eq" Validation="true" Duration="2147483647">true</Trigger>
</Triggers>
<Results Count="1">
<Result ID="1" ResultType="DeviceResult" DeviceID="1" DeviceIndex="1" PreDelay="300" Validation="true">true</Result>
</Results>
</Rule>
</Rules>

我需要以下属性的值- 触发器计数、触发器 ID、触发器类型、设备 ID 和触发器标签之间的数据- 循环中的结果计数、结果 ID、结果类型、设备 ID、预延迟和结果标记之间的数据

最佳答案

以下是如何打印“Count”值。

DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse("put_the_path_to_your_file_here");
doc.getDocumentElement().normalize();

NodeList rules = doc.getDocumentElement().getElementsByTagName("Rule");
for (int i = 0; i < rules.getLength(); ++i) {
Element rule = (Element) rules.item(i);
Element triggers = (Element) rule.getElementsByTagName("Triggers").item(0);
int count = Integer.parseInt(triggers.getAttribute("Count"));
System.out.println("Count=" + count);
}

您需要在第 3 行调用 .parse 时指定文件的路径。

另请注意,要编译此代码,您必须导入以下内容:

import java.io.File;
import javax.xml.parsers.*;
import org.w3c.dom.*;

关于java - 如何通过java获取Xml的本地属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29664997/

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