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中,这个要怎么实现,新手上路,尽量详细些,小菜这厢有礼了!!
展开
 我来答
198901245631
2015-11-08 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1820万
展开全部
实现思路:可以通过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("--------------------------------------");
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
氵無顏
2014-03-11 · 超过18用户采纳过TA的回答
知道答主
回答量:53
采纳率:100%
帮助的人:19.6万
展开全部
//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>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最多七个汉字哦
2014-03-11 · TA获得超过382个赞
知道答主
回答量:132
采纳率:0%
帮助的人:78.9万
展开全部
用文档解析器 http://developer.51cto.com/art/200903/117512.htm
希望可以帮到你 望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式