我得到的XML items.xml
文件(几乎)与我的items
表的值相同,我的意思是fe。 items
表中有一个字段:level
,对于任何id
,level
设置为144,但在XML文件中,level=
属性设置为"1"
(对于相同的id
) - 更正这样的值的最佳方法是什么?
它应该是这样的:
- 检查数据库表中的值
level
是否有任何ID。- 如果数据库中的
level
值不是此ID的level=""
属性,请将其设置为与level
中相同的值{{1}} 数据库中。
这可能有点困难,因为有大约40000条记录需要检查。
我也会欣赏一些例子!
答案 0 :(得分:1)
根据您使用的编程语言,找到相应的StAX实现。对于Java,我会使用XMLStreamReader
(JavaDocs)和XMLStreamWriter
(JavaDocs)。你应该在互联网上找到一些教程。
在阅读XML时遇到START_ELEMENT
事件时,请检查标记的名称(getLocalName()
)。如果您使用正确的标签,请检查属性,即使用getAttribute...()
- 方法并以不同方式处理书写。
在所有这些方面,使用XMLStreamWriter
将新XML写入某些OutputStream
。毕竟,只需将OutputStream
写到您想要的位置(文件等)。
不要忘记使用BufferedInputStream
(或其他一些缓冲方式)阅读您的Input-XML。
P.S。:您也可以使用XMLEventReader
或XMLEventWriter
,但我个人更喜欢XMLStreamReader
/ XMLStreamWriter
。此外,您可以使用不同的StAX实现,如Woodstox
。
P.P.S。:对于PHP,使用XMLReader和XMLWriter。请参阅here。