问题描述
- 初学xml,用dom4j怎么解析xml的混合类型元素?
-
我是一个在校学生,刚刚接触xml,通过学习知道怎么用dom4j解析解析简单的xml文件,但是遇到混合元素的话就不太懂,有以下问题希望各位大神帮忙:
1.混合元素中的子元素可以出现多次,如何解析这个出现多次的元素,并把内容存入数据库?如:name的dtd定义和xml文档片段如下,怎么解析两个first,我只能解析出一个:<!ELEMENT name (first+, middle?, last)> <!ELEMENT first (#PCDATA)> <!ELEMENT middle (#PCDATA)> <!ELEMENT last (#PCDATA)>``
<name> <first>Jeff</first> <first>Craig</first> <last>Rafter</last> </name>
2.遇到《br/》怎么处理?
比如description元素的dtd及xml如下:<!ELEMENT description (#PCDATA | em | strong | br)*> <!ELEMENT em (#PCDATA)> <!ELEMENT strong (#PCDATA)> <!ELEMENT br EMPTY>
<description> Jeff is a developer and author for Beginning XML <em>4th edition</em> .<br/>Jeff <strong>loves</strong> XML! </description>
3.混合元素的文本值交叉出现在各个子元素之间,我把它解析出来后就会存到同一个字段中,取出来创建xml文档的时候怎么还原?
比如还是上面的description元素,我存到数据库之后是:
然后读出来创建新的xml文档的时候就变成:<description>Jeff is a developer and author for Beginning XML .Jeff XML! <em>4th edition</em> <strong>loves</strong> </description>
和上面的xml文档不一样了!
希望大神给解答解答!
解决方案
XML解析 Dom4j
dom4j解析xml
使用 dom4j 解析XML
解决方案二:
csdn新人,第一次发帖,连发帖的格式的不对,第2个问题是:
2.遇到“
”怎么处理?
比如description元素的dtd及xml如下:
<!ELEMENT description (#PCDATA | em | strong | br)*>
<!ELEMENT em (#PCDATA)>
<!ELEMENT strong (#PCDATA)>
<!ELEMENT br EMPTY>
<description>Jeff is a developer and author for Beginning XML <em>4th edition</em>.<br/>Jeff <strong>loves</strong> XML!</description>
</contact>
希望各位指教!
解决方案三:
啊啊啊,还是错了,应该是“2.遇到《br/》怎么处理?”
解决方案四:
http://blog.csdn.net/redarmy_chen/article/details/12969219 希望能帮到你
时间: 2024-09-11 07:16:50