XML属性换行

xymsgw 2010-08-16 03:31:35
我有一个XML文件,格式如下:

<?xml version="1.0" encoding="utf-16"?>
<ScriptCommands>
<ScriptCommand
Time="00:00:00"
Command="打印 PerformancePoint 仪表板十分简单。"
Type="caption" />
</ScriptCommands>

仅仅读取Command属性,并在其前面加了“ ”后,再次保存该XML格式变成如下:

<?xml version="1.0" encoding="utf-16"?>
<ScriptCommands>
<ScriptCommand Time="00:00:00" Command=" 打印 PerformancePoint 仪表板十分简单。" Type="caption" />
</ScriptCommands>

原来ScriptCommand的属性是换行的,保存后属性全连一行了,如何才能保证XML编辑之后,保存的格式跟原始格式完全一样呢?难道我读写XML操作方法不对吗?那用什么方法才能保证保存前后格式不变呢?望高手指教,十分感谢!!

我的代码如下:

Dim xmlDoc As New System.Xml.XmlDocument
Dim xmlNodeList As System.Xml.XmlNodeList
Dim XmlElement As System.Xml.XmlElement
Dim intCount As Integer

xmlDoc.Load("D:\Temp\PPS-PrintADashboard_VC101823133.xml")
xmlNodeList = xmlDoc.GetElementsByTagName("ScriptCommands")
If xmlNodeList(0).ChildNodes.Count <> 0 Then
For intCount = 0 To xmlNodeList(0).ChildNodes.Count - 1
XmlElement = xmlNodeList(0).ChildNodes(intCount)
XmlElement.SetAttribute("Command", " " + XmlElement.GetAttribute("Command"))
Next
End If
xmlDoc.Save(TxtFile)
...全文
524 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhykhld 2011-05-16
  • 打赏
  • 举报
回复
不应该用这个XmlElement,你应该获取Command的所属对象
zhykhld 2011-05-16
  • 打赏
  • 举报
回复
问题出在这里:
XmlElement.SetAttribute("Command", " " + XmlElement.GetAttribute("Command"))
不应该用XmlElement,你应该获取Command所性对象操作,就是XmlElement指定的这个Attribute,我很久没有动过Xml了,具体实现方法说不上来了
xymsgw 2010-08-16
  • 打赏
  • 举报
回复
没人吗
xymsgw 2010-08-16
  • 打赏
  • 举报
回复
不懂,还请高手们再次指教,谢谢!
xymsgw 2010-08-16
  • 打赏
  • 举报
回复
重写XML吗?
兔子-顾问 2010-08-16
  • 打赏
  • 举报
回复
对于有回车换行的节点,用
dim doc as new XmlDocument
doc.CreateTextNode
你可以考虑序列化为DataTable,然后使用DataTable的LoadXml/SaveXml方法。

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧