我是一个在校学生,刚刚接触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文档不一样了!
希望大神给解答解答!
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 希望能帮到你