java怎么解析xml最简单

java怎么解析xml最简单,第1张

java怎么解析xml最简单

方法/步骤1先把xml中除了根节点的节点设置成对象

2然后在对象就在加上xml注解,

3定义一个xml字符串的参数功能之后的解析效果查看,

4使用JAXBContextnewInstance实例化对象,

5把实例化的对象转换成xml的对象树,

6把xml字符串参数通过xml对象树转换成对象,

如果你想用java语言解析xml文件的话,可以使用Digester类来解析

首先你先根据xml文件结构来判断要解析这个xml文件需要几个bean类

如:

<xml version="10" encoding="utf-8">

<userrequest>

<user>

<username>tom</username><!--只有一个-->

<psw>1234</psw><!--只有一个-->

<dotype>1234</dotype><!--0插入,1修改,2删除-->

<school><!--一个或多个-->

<schoolname>和平路小学</schoolname><!--只有一个-->

<class>和平路小学</class><!--只有一个-->

</school>

<school>

<schoolname>22中学</schoolname>

<class>和平路小学</class>

</school>

<school>

<schoolname>大学</schoolname>

<class>和平路小学</class>

</school>

<school>

<schoolname>大学</schoolname>

<class>和平路小学</class>

</school>

<school>

<schoolname>大学</schoolname>

<class>和平路小学</class>

</school>

</user>

</userrequest>

就需要三个bean类,有userrequestclass,userclass,schoolclass三个类

然后编写解析这个xml的具体代码

首先FileInputStream fis = new FileInputStream("G:/A015requestxml");

得到流,

目的是fisavailable()查看有多少个字节

然后实例化Digester类

Digester digester = new Digester();

digesteraddObjectCreate(“userrequest”,userrequestclass);类

digesteraddObjectCreate(“userrequest/user”,userclass);类

digesteraddBeanPropertySetter(“userrequest/user/username”,"username");具体属性

其他同理

digesteraddSetNext(“userrequest/user”,“在userrequest类中的user的set方法”);(可能有多个)

把数据压进栈

最后关闭流

fisclose();

写完之后可以验证一下。

写的比较简单,希望你能明白呀。还有其他的简单方法你可以在网上查查,希望你能学会呀!

要给这段文字添加一个 root 标签,然后对里面的 node 进行遍历。root 标签的名字可以任意定(但是必须添加一个),我这里使用的 root 命名,对于其它的名字也一样。如果你是直接读取的 XML 文件,而不是字符串,可以将文件打开,然后把文件句柄传入 ElementTreeparse() 函数,最后对其返回值进行遍历。

from xmletree import ElementTree

parsed = ElementTreeXML('''<root>

<composer>Wolfgang Amadeus Mozart</composer> <author>Samuel Beckett</author> <city>London</city>

</root>''')

outstr = []

for node in parsed:

    outstr += ['%s:%s'%(nodetag, nodetext)]

print(' 'join(outstr))

string xmlPath = "Demoxml"

XmlDocument _XmlDoc = new XmlDocument();

_XmlDocLoad(xmlPath);

//数组长度

string num = "";

Dictionary<string, string> xmlData = new Dictionary<string, string>();

foreach (XmlNode node in _XmlDocChildNodes)

{

if(nodeName == "num")

num = nodeAttributes["n"]Value;

if(nodeName == "pdr")

xmlDataAdd(nodeAttributes["t"]Value,nodeAttributes["Q"]Value);

}

//至此,你的XML解析完毕,字典里保存的是pdr数据,num 变量保存的是数组长度。

把所有的数据当做一个字符串

收到数据后先strstr(buffer,"<xml version=\"10\" encoding=\"UTF-8\">");

如果返回的是NULL则表示没有这段 退出

buffer是你收到的数据起始地址

以上就是关于java怎么解析xml最简单全部的内容,包括:java怎么解析xml最简单、怎么解析xml文件、Python编写一个程序以尝试解析XML/HTML标签.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9829547.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存