怎样用java从xml里读取数据 并且保存为txt格式
要求读取节点中连续的,长度大于三,不分大小写,只包含数字字母和下划线例如,读取文件input.txt,包含:<?xmlversion="1.0"encoding="UTF...
要求读取节点中 连续的,长度大于三, 不分大小写,只包含数字字母和下划线
例如,读取文件input.txt,包含:
<?xml version="1.0" encoding="UTF-8" ?>
- <statuses type="array">
- <status>
<id>0001</id>
<created_at>2011/02/22</created_at>
<text>@abc DEF gh aa:bb_b</text>
- <user>
<name>first second</name>
<location>beijing, China</location>
</user>
</status>
.....
</statuses>
这是模拟论坛帖子信息的储存,在每组- <status> </status>之间保存的是一个帖子的信息,有id, created_at, text,和发帖者user的 name, location。 后面.....表示还有很多组帖子信息。
读取节点中的数据,如果按要求,输出如下
t-abc:0001
t-def:0001
t-bb_b:0001
n-first:0001
n-second:0001
l-beijing:0001
l-china:0001
.....
其中最前面的t, n, l分别表示text, name和location; 接着是一个横线“-”, 后面接着的是其节点中的数据,连续的,长度大于三, 不分大小写,只包含数字字母和下划线;后面再接一个冒号“:” 接着是 id 中的数字。
需要读取所有帖子
要求输出结果保存在一个txt记事本中,取名叫output.txt
求详细的回答,最好带上java代码 展开
例如,读取文件input.txt,包含:
<?xml version="1.0" encoding="UTF-8" ?>
- <statuses type="array">
- <status>
<id>0001</id>
<created_at>2011/02/22</created_at>
<text>@abc DEF gh aa:bb_b</text>
- <user>
<name>first second</name>
<location>beijing, China</location>
</user>
</status>
.....
</statuses>
这是模拟论坛帖子信息的储存,在每组- <status> </status>之间保存的是一个帖子的信息,有id, created_at, text,和发帖者user的 name, location。 后面.....表示还有很多组帖子信息。
读取节点中的数据,如果按要求,输出如下
t-abc:0001
t-def:0001
t-bb_b:0001
n-first:0001
n-second:0001
l-beijing:0001
l-china:0001
.....
其中最前面的t, n, l分别表示text, name和location; 接着是一个横线“-”, 后面接着的是其节点中的数据,连续的,长度大于三, 不分大小写,只包含数字字母和下划线;后面再接一个冒号“:” 接着是 id 中的数字。
需要读取所有帖子
要求输出结果保存在一个txt记事本中,取名叫output.txt
求详细的回答,最好带上java代码 展开
1个回答
展开全部
1. 用xml的java解析库(比如JDOM,DOM4J等等很多)解析xml文件,你可以得到任意一个节点的属性,属性值,子节点等所有信息,从而或者节点下的文本信息
2. 一旦拿到文本信息,用String类的各种操作,比如substring,split等方法,就可以得到abc,def等字符串(你的题意没有说清,比如@abc DEF gh aa:bb_b中的gh为什么被无视了,所以具体的逻辑只有你自己知道)
3. 组合字符串只要用加号就可以了
4. 用FileWriter写文件
你有什么技术不明白?
2. 一旦拿到文本信息,用String类的各种操作,比如substring,split等方法,就可以得到abc,def等字符串(你的题意没有说清,比如@abc DEF gh aa:bb_b中的gh为什么被无视了,所以具体的逻辑只有你自己知道)
3. 组合字符串只要用加号就可以了
4. 用FileWriter写文件
你有什么技术不明白?
追问
这个问题倒是弄好了,但是还有个事,就是java读取数据的时候,怎么把节点下的所有内容,包括节点一块儿得到。
比如说,上面的输出之后,要求再加上一行,把每组的含...节点,和之间的所有数据 写进txt
简单点说就是怎样得到带节点的数据,而不是节点间的数据
追答
这应该取决于你所使用的xml解析器提供了哪些api吧,有些会直接提供某个节点的整个文本
当然对于简单的应用,你自己格式化一下,给数据两端加上标签,再写入文件,也是可行的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询