Foxtable(狐表)用户栏目专家坐堂 → 求助:生成xml文件怎样才能在每一个要素之后都加上一个vbcrlf实现回车 空行呢?


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

主题:求助:生成xml文件怎样才能在每一个要素之后都加上一个vbcrlf实现回车 空行呢?

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:生成xml文件怎样才能在每一个要素之后都加上一个vbcrlf实现回车 空行呢?  发帖心情 Post By:2016/10/26 13:49:00 [只看该作者]

求助:生成xml文件怎样才能在每一个要素之后都加上一个vbcrlf实现回车 空行呢?

代码如下:

Dim xls As String = "D:/收案信息.xls"
Dim book As new XLS.Book(xls)
Dim sheet As XLS.Sheet= book.Sheets(0)
Dim xml As String = "D:/收案信息.xml"
Try
    Dim writer As New Xml.XmlTextWriter(xml, System.Text.Encoding.GetEncoding("utf-8"))
    '书写根元素()
    writer.WriteStartElement("case")
    For i As Integer = 1 To sheet.Rows.count -1
        '添加次级元素
        writer.WriteStartElement("caseRegistration")
        For j As Integer = 0 To sheet.Cols.count -1
            '添加子元素()
            writer.WriteElementString(sheet(0,j).value,sheet(i,j).value)
        Next
        '关闭次级元素DatabaseSetting
        writer.WriteEndElement()
    Next
    '关闭根元素
    writer.WriteFullEndElement()
    '将XML写入文件并关闭writer
    writer.Close()
    Catch ex As Exception
    MsgBox(ex.Message & vbCrLf & ex.StackTrace)
End Try

生成后的效果为:
<case><caseRegistration><suitDocNumber>1</suitDocNumber><number1>221</number1><name1>22</name1><submittedDate>2016/10/26</submittedDate><number>222</number><name>22</name><suggestedProcedure>普通程序</suggestedProcedure><penalty>死刑</penalty><minDuration>2</minDuration><maxDuration>2</maxDuration><involvedAmount>2</involvedAmount><isTeen>1</isTeen><description>222</description><path>2222</path></caseRegistration></case>

怎么样才能实现为下面的格式呢?
<case>
<caseRegistration>
<suitDocNumber>1</suitDocNumber>
<number1>221</number1>
<name1>22</name1>
<submittedDate>2016/10/26</submittedDate>
<number>222</number>
<name>22</name>
<suggestedProcedure>普通程序</suggestedProcedure>
<penalty>死刑</penalty>
<minDuration>2</minDuration>
<maxDuration>2</maxDuration>
<involvedAmount>2</involvedAmount>
<isTeen>1</isTeen>
<description>222</description>
<path>2222</path>
</caseRegistration>
</case>


[此贴子已经被作者于2016/10/26 13:50:01编辑过]

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


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

 writer.Formatting = Xml.Formatting.Indented

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(blackzhu) writer.Formatting = Xml.Fo...  发帖心情 Post By:2016/10/26 14:49:00 [只看该作者]

不得行啊  还得麻烦各位大大继续指导  谢谢!

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


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

测试没有问题,2楼的方式可以自动缩进

    Dim writer As New Xml.XmlTextWriter(xml, System.Text.Encoding.GetEncoding("utf-8"))
    writer.Formatting = System.Xml.Formatting.Indented
    '书写根元素()
    writer.WriteStartElement("case")
    For i As Integer = 1 To sheet.Rows.count -1

如果XML不需要人工处理,缩进不缩进都没有关系的

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)测试没有问题,2楼的方式可以自动缩进...  发帖心情 Post By:2016/10/27 20:57:00 [只看该作者]

谢谢  原来上面的少了这个红色部分

writer.Formatting = System.Xml.Formatting.Indented

 回到顶部