【问题标题】:How to create Node in XML file with Space?如何使用 Space 在 XML 文件中创建节点?
【发布时间】:2018-11-02 14:31:50
【问题描述】:

我正在尝试重新创建我们公司中的某个人从 Excel 生成的 XML 文件写入记事本。我正在使用 Visual Studio .NET,语言 Visual Basic。

我附上了一张我正在尝试重建的照片。

XML文件中有一个节点如下:

<maxJobPres uom="MPa">59.5</maxJobPres>

在 Visual Basic 中获取此输出的正确语法是什么?

XML 文件中此行之前的行是:

<proppantName>Import 40/70</proppantName>

我可以使用它来创建

writer.WriteElementString("proppantName", "Import 40/70")

但我不确定如何获取包括空格在内的第一行,然后是 UofM,以及 MPA 的引用。

【问题讨论】:

  • uom 是一个属性,而不是 xml 标记的一部分。检查如何向标签/节点添加属性。

标签: asp.net .net xml vb.net


【解决方案1】:

如果您有更复杂的元素,请使用 XmlWriter 类的 WriteStart... 方法:

writer.WriteElementString("proppantName", "Import 40/70")
writer.WriteStartElement("maxJobPres")
writer.WriteAttributeString("uom", "MPa")
writer.WriteString("59.5")
writer.WriteEndElement()

【讨论】:

    【解决方案2】:

    XML 由各种组件组成。最重要的是

    • 元素(节点)
      • 元素可以自动关闭 (&lt;Name /&gt;)
      • 或使用开始和结束标签 (&lt;Name&gt;&lt;/Name&gt;)
      • 并且可能包含嵌套节点
    • 属性(位于元素的开始标签内)
      • 属性必须分配一个引用值 (TheAttribute="Some value")
    • 和 text() 节点(位于开始和结束标签之间)

    看这个例子

    <root>
      <Element>Here is a text() node</Element>
      <SelfClosingElementWithAttribute ThisIsAnAttribute="thevalue" OneMore="one more value" />
      <ElementWithChildren>
         <Child id="1">Some text<Chid>
         <Child id="2" />
         <child id="3"><Child>
      </ElementWithChildren>
    </root>
    

    一个特殊的元素是 root 节点。

    我假设您使用XmlWriter 来解决您的问题。此类提供处理 XML 组件的特定方法。要写一个属性需要使用XmlWriter.WriteAttributeString()

    Read this for details,尤其是以WriteAttribute开头的方法。

    【讨论】:

      猜你喜欢
      • 2019-05-24
      • 1970-01-01
      • 2013-11-25
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多