Foxtable(狐表)用户栏目专家坐堂 → 知不知道这样的XML格式是怎么做出来的?


  共有2239人关注过本帖树形打印复制链接

主题:知不知道这样的XML格式是怎么做出来的?

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
知不知道这样的XML格式是怎么做出来的?  发帖心情 Post By:2016/10/26 11:01:00 [只看该作者]

   <Authors_Table>
  <authors>
    <作者ID>172-32-1176</作者ID>
    <姓>王</姓>
    <名>静静</名>
    <城市>上海</城市>
    <合同>true</合同>
  </authors>
  <authors>
    <作者ID>213-46-8915</作者ID>
    <姓>王</姓>
    <名>亮</名>
    <城市>北京</城市>
    <合同>true</合同>
  </authors>
  <authors>
    <作者ID>238-95-7766</作者ID>
    <姓>乌</姓>
    <名>颖影</名>
    <城市>哈尔滨</城市>
    <合同>true</合同>
  </authors>
  <authors>
    <作者ID>238-95-7769</作者ID>
    <姓>刘</姓>
    <名>艳春</名>
    <城市>哈尔滨</城市>
    <合同>true</合同>
  </authors>
  <authors>
    <作者ID>274-80-9391</作者ID>
    <姓>张</姓>
    <名>彩云</名>
    <城市>吉林</城市>
    <合同>true</合同>
  </authors>
</Authors_Table>

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2016/10/26 11:01:00 [只看该作者]

 我想从EXCEL 导出到这个格式.

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/26 11:39:00 [只看该作者]

简单的直接拼字符串

System.Xml操作看

Dim doc As New System.Xml.XmlDocument()
Dim root As System.Xml.XmlElement = doc.CreateElement("Authors_Table")
doc.AppendChild(root)
Dim node As System.Xml.XmlNode = doc.CreateElement("authors")
Dim n1 As System.Xml.XmlNode = doc.CreateElement("作者ID")
n1.InnerText = "172-32-1176"
node.AppendChild(n1)
n1 = doc.CreateElement("姓")
n1.InnerText = "王"
node.AppendChild(n1)
root.AppendChild(node)
Output.Show(doc.OuterXml)

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)简单的直接拼字符串System.Xml操作看...  发帖心情 Post By:2016/10/26 12:33:00 [只看该作者]

单个文件拼接倒是没有问题  如果是多个表 怎么进行关联读取数据并按照这个结构生成XML呢?我也是弄了半天都没有弄明白!求解!


比如如下格式:
<!--案件-->
<case>
  <!--收案信息-->       ----主表,与下面红色部分都是关联“起诉书编号”进行数据录入的
  <caseRegistration>
    <!--主罪名(编码与名称,同时额外提供一份对应字典。)-->
    <principalCriminalCause>
      <!--罪名编码-->
      <number></number>
      <!--罪名名称-->
      <name></name>
    </principalCriminalCause>
    <!--建议启用程序:普通程序,简易程序。-->
    <suggestedProcedure></suggestedProcedure>
    <!--量刑建议-->
    <suggestedPenaltyMeasurement>
      <!--建议刑罚、死刑、无期、有期。-->
      <penalty></penalty>
      <!--最小量刑(月)-->
      <minDuration>0</minDuration>
      <!--最大量刑(月)-->
      <maxDuration>0</maxDuration>
    </suggestedPenaltyMeasurement>
    <!--起诉单位(编码与名称,同时额外提供一份对应字典。)-->
    <submittedUnit>
      <!--单位编码-->
      <number></number>
      <!--单位名称-->
      <name></name>
    </submittedUnit>
    <!--提交材料日期(年/月/日,yyyy/MM/dd)-->
    <submittedDate></submittedDate>
    <!--起诉书编号-->
    <suitDocNumber></suitDocNumber>
    <!--涉案金额,单位:元。-->
    <involvedAmount>0</involvedAmount>
    <!--是否未成年犯罪-->
    <isTeen>false</isTeen>
    <!--相关文件-->
    <relatedMaterials>
      <!--可多项,attachments目录下的非中文文件路径,可包含子目录。-->
      <file>
        <!--文件描述-->
        <description></description>
        <!--文件路径-->
        <path></path>
      </file>
    </relatedMaterials>
  </caseRegistration>
  <!--立案证据-->    ---- 类别节点(以下还有多个类别)
  <caseRegistrationEvidence>
    <!--报案、控告、举报、扭送、投案材料,可含多子项。-->
    <caseReports>
      <!--报案、控告、举报、扭送、投案材料,可多项。-->   -----节点名称(以下还有多个节点名)
      <caseReport>
        <!--描述-->
        <description></description>
        <!--相关材料-->
        <materials>
          <!--可多项,attachments目录下的非中文文件路径,可包含子目录。-->
          <file>
            <!--文件描述-->
            <description></description>
            <!--文件路径-->
            <path></path>
          </file>
        </materials>
      </caseReport>
    </caseReports>
    
    <!--相关部门移送的犯罪材料,文字加对应附件,可含多子项。-->  -----节点名称
    <transferredCriminalMaterials>
      <!--相关部门移送的犯罪材料,文字加对应附件,可多项。-->
      <transferredCriminalMaterial>
        <!--描述-->
        <description></description>
        <!--相关材料-->
        <materials>
          <!--可多项,attachments目录下的非中文文件路径,可包含子目录。-->
          <file>
            <!--文件描述-->
            <description></description>
            <!--文件路径-->
            <path></path>
          </file>
        </materials>
      </transferredCriminalMaterial>
    </transferredCriminalMaterials>
    ……
[此贴子已经被作者于2016/10/26 12:40:11编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2016/10/26 12:40:00 [只看该作者]

 Dim App As New Application
            Dim Wb As Workbook = App.Workbooks.Open("E:\美奥口腔办公系统1\hggh.xls")
            Dim Ws As Worksheet = Wb.Worksheets(1)

 Dim writer As New Xml.XmlTextWriter(xml, System.Text.Encoding.GetEncoding("utf-8"))
                '书写根元素()
                writer.WriteStartElement("ceshi")
                For i As Integer = 1 To Ws.Rows.Count - 1
                    '添加次级元素
                    writer.WriteStartElement("authors")
                    For j As Integer = 0 To Ws.Columns.Count - 1
                        '添加子元素()
                        MessageBox.Show(Ws.Cells(i, j).Value)   '这一句通不过是什么原因
                        '  writer.WriteElementString(Ws.Cells(0, j).Value, Ws.Cells(i, j).Value)
                        ' writer.WriteElementString(Ws.Cells(0, j).value, Ws.Cells(i, j).value)
                    Next
                    '关闭次级元素DatabaseSetting
                    writer.WriteEndElement()
                Next

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(blackzhu)?Dim App As New Application...  发帖心情 Post By:2016/10/26 12:48:00 [只看该作者]

  • toString 将数值转换成字符串,将日期时间值转换成,转换对象为字符串
  •  Cells(i, j)  i是行  J是列 
  • 会不会是对应的节点名没有获取对啊?
  writer.WriteStartElement("ceshi")? 表里有这个么?
[此贴子已经被作者于2016/10/26 12:55:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2016/10/26 13:21:00 [只看该作者]

 这个是写入字符串.

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(blackzhu) 这个是写入字符串.  发帖心情 Post By:2016/10/26 13:37:00 [只看该作者]

对了  如果每一个节点后都换一行   这个& Chr(13)代码怎么加呢?

 回到顶部