
java解析xml中返回的数据???
<?xmlversion="1.0"encoding="UTF-8"?><response><stationname="测试基站2"><equipmentname="基站...
<?xml version="1.0" encoding="UTF-8"?>
<response>
<station name="测试基站2">
<equipment name="基站2-测试设备1" code="">
<signal name="基站1-测试设备1-测试信号1" value=""></signal>
<signal name="基站1-测试设备1-测试信号1"></signal>
</equipment>
</response>
这个是返回的xml格式,我需要把signal name="基站1-测试设备1-测试信号1" value="">中name和value值解析出来放在list中,这个要怎么实现,新手上路,尽量详细些,小菜这厢有礼了!! 展开
<response>
<station name="测试基站2">
<equipment name="基站2-测试设备1" code="">
<signal name="基站1-测试设备1-测试信号1" value=""></signal>
<signal name="基站1-测试设备1-测试信号1"></signal>
</equipment>
</response>
这个是返回的xml格式,我需要把signal name="基站1-测试设备1-测试信号1" value="">中name和value值解析出来放在list中,这个要怎么实现,新手上路,尽量详细些,小菜这厢有礼了!! 展开
展开全部
实现思路:可以通过w3c的dom解析器进行操作。
举例:
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class DomTest1
{
public static void main(String[] args) throws Exception
{
// step 1: 获得dom解析器工厂(工作的作用是用于创建具体的解析器)
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// System.out.println("class name: " + dbf.getClass().getName());
// step 2:获得具体的dom解析器
DocumentBuilder db = dbf.newDocumentBuilder();
// System.out.println("class name: " + db.getClass().getName());
// step3: 解析一个xml文档,获得Document对象(根结点)
Document document = db.parse(new File("candidate.xml"));
NodeList list = document.getElementsByTagName("PERSON");
for(int i = 0; i < list.getLength(); i++)
{
Element element = (Element)list.item(i);
String content = element.getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue();
System.out.println("name:" + content);
content = element.getElementsByTagName("ADDRESS").item(0).getFirstChild().getNodeValue();
System.out.println("address:" + content);
content = element.getElementsByTagName("TEL").item(0).getFirstChild().getNodeValue();
System.out.println("tel:" + content);
content = element.getElementsByTagName("FAX").item(0).getFirstChild().getNodeValue();
System.out.println("fax:" + content);
content = element.getElementsByTagName("EMAIL").item(0).getFirstChild().getNodeValue();
System.out.println("email:" + content);
System.out.println("--------------------------------------");
}
}
}
举例:
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class DomTest1
{
public static void main(String[] args) throws Exception
{
// step 1: 获得dom解析器工厂(工作的作用是用于创建具体的解析器)
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// System.out.println("class name: " + dbf.getClass().getName());
// step 2:获得具体的dom解析器
DocumentBuilder db = dbf.newDocumentBuilder();
// System.out.println("class name: " + db.getClass().getName());
// step3: 解析一个xml文档,获得Document对象(根结点)
Document document = db.parse(new File("candidate.xml"));
NodeList list = document.getElementsByTagName("PERSON");
for(int i = 0; i < list.getLength(); i++)
{
Element element = (Element)list.item(i);
String content = element.getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue();
System.out.println("name:" + content);
content = element.getElementsByTagName("ADDRESS").item(0).getFirstChild().getNodeValue();
System.out.println("address:" + content);
content = element.getElementsByTagName("TEL").item(0).getFirstChild().getNodeValue();
System.out.println("tel:" + content);
content = element.getElementsByTagName("FAX").item(0).getFirstChild().getNodeValue();
System.out.println("fax:" + content);
content = element.getElementsByTagName("EMAIL").item(0).getFirstChild().getNodeValue();
System.out.println("email:" + content);
System.out.println("--------------------------------------");
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//1. 创建解析器
SAXReader saxreader = new SAXReader();
//2. 读取文档
Document doc = saxreader.read(new File("e:/studentinfo.xml"));
//3. 获取根
Element root = doc.getRootElement();
//4. 获取子节点
List<Element> list = root.elements();
for(Element e : list){
System.out.println(e.elementText("name"));
System.out.println(e.element("score").attributeValue("java"));
}
对比着看就大概知道了
xml:
<?xml version="1.0" encoding="UTF-8"?>
<class>
<student no="10001">
<name>张三</name>
<sex>男</sex>
<age>20</age>
<score java="90" oracle="95" />
</student>
<student no="10002">
<name>里斯</name>
<sex>男</sex>
<age>30</age>
<score java="70" oracle="85" />
</student>
</class>
SAXReader saxreader = new SAXReader();
//2. 读取文档
Document doc = saxreader.read(new File("e:/studentinfo.xml"));
//3. 获取根
Element root = doc.getRootElement();
//4. 获取子节点
List<Element> list = root.elements();
for(Element e : list){
System.out.println(e.elementText("name"));
System.out.println(e.element("score").attributeValue("java"));
}
对比着看就大概知道了
xml:
<?xml version="1.0" encoding="UTF-8"?>
<class>
<student no="10001">
<name>张三</name>
<sex>男</sex>
<age>20</age>
<score java="90" oracle="95" />
</student>
<student no="10002">
<name>里斯</name>
<sex>男</sex>
<age>30</age>
<score java="70" oracle="85" />
</student>
</class>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用文档解析器 http://developer.51cto.com/art/200903/117512.htm
希望可以帮到你 望采纳
希望可以帮到你 望采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |