wWuZongze 2015-11-21 03:26 采纳率: 0%
浏览 1813
已结题

初学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文档不一样了!

希望大神给解答解答!

  • 写回答

3条回答 默认 最新

  • wWuZongze 2015-11-21 03:31
    关注

    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>
    

    希望各位指教!

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?