标签: xmlnode

xmlNode到对象

我一直在使用第三方基于Java的REST Web服务,它返回一个xmlNodes数组.

xmlNode []重新呈现一个对象,我试图找出在对象中反序列化xmlNode []的最佳方法?是首先建立一个xmlDocument和Deserialize?

谢谢

c# serialization xmlnode

10
推荐指数
2
解决办法
3万
查看次数

如何更改XML节点值

我有一个XML(这正是它的样子):

<PolicyChangeSet schemaVersion="2.1" username="" description="">
    <Attachment name="" contentType="">
        <Description/>
        <Location></Location>
    </Attachment>
</PolicyChangeSet>
Run Code Online (Sandbox Code Playgroud)

这是在用户的机器上.

我需要为每个节点添加值:用户名,描述,附件名称,内容类型和位置.

这是我到目前为止:

string newValue = string.Empty;
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(filePath);
            XmlNode node = xmlDoc.SelectSingleNode("/PolicyChangeSet");
            node.Attributes["username"].Value = AppVars.Username;
            node.Attributes["description"].Value = "Adding new .tiff image.";
            node.Attributes["name"].Value = "POLICY";
            node.Attributes["contentType"].Value = "content Typeeee";

            //node.Attributes["location"].InnerText = "zzz";

            xmlDoc.Save(filePath);
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

c# xml xmlnode

9
推荐指数
3
解决办法
6万
查看次数

有条件地匹配当前节点值

给出以下XML:

<current>
  <login_name>jd</login_name>
</current>
<people>
  <person>
    <first>John</first>
    <last>Doe</last>
    <login_name>jd</login_name>
  </preson>
  <person>
    <first>Pierre</first>
    <last>Spring</last>
    <login_name>ps</login_name>
  </preson>
</people>
Run Code Online (Sandbox Code Playgroud)

如何从当前/登录匹配器中获取"John Doe"?

我尝试了以下方法:

<xsl:template match="current/login_name">
  <xsl:value-of select="../people/first[login_name = .]"/>
  <xsl:text> </xsl:text>
  <xsl:value-of select="../people/last[login_name = .]"/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

xslt xpath xmlnode

8
推荐指数
1
解决办法
3万
查看次数

在C#中,如何获取白色空间的XML节点值?

我有一个XML节点,其值是一个空格.例:

<sampleNode> </sampleNode>
Run Code Online (Sandbox Code Playgroud)

我正在使用Serializer从XML文档中获取数据以将其存储在对象中.现在,我面临的问题是:如果XML节点值只包含空格,就像上面的示例节点一样,序列化程序将其解释为string.Empty.

我怎么能克服这个?我需要得到实际的空白区域,即"".谢谢你!

c# xml xmlnode

8
推荐指数
1
解决办法
7507
查看次数

将XmlDocument插入XmlDocument节点

我用一个节点创建了一个基本的XmlDocument:

XmlDocument bigDoc = new XmlDocument();
bigDoc.LoadXml("<Request></Request>");
Run Code Online (Sandbox Code Playgroud)

我正在获取另一个我想在<Request>节点内插入的XmlDocument .它对我不起作用:

 XmlNode requestNode =  bigDoc.FirstChild;
 requestNode.AppendChild(anotherXMLDocument);
Run Code Online (Sandbox Code Playgroud)

它引发了一个例外.

如何在另一个XmlDocument节点中插入XmlDocument?

.net c# xmldocument insert xmlnode

8
推荐指数
1
解决办法
7535
查看次数

循环遍历XML中的多个子节点

  <Sections>
    <Classes>
      <Class>VI</Class>
      <Class>VII</Class>
    </Classes>
    <Students>
      <Student>abc</Student>
      <Student>def</Student>
    </Students>    
  </Sections>
Run Code Online (Sandbox Code Playgroud)

我必须遍历Classes才能将'Class'变成一个字符串数组.我还必须循环"学生",让'学生'进入一系列字符串.

XDocument doc.Load("File.xml");
     string str1;
     foreach(XElement mainLoop in doc.Descendants("Sections")) 
       {   
          foreach(XElement classLoop in mainLoop.Descendants("Classes"))
                str1 = classLoop.Element("Class").Value +",";
       //Also get Student value
        }
Run Code Online (Sandbox Code Playgroud)

没有努力获得所有课程.另外,我需要在使用LINQ to XML的情况下重写它,即使用XmlNodeList和XmlNodes.

XmlDocument doc1 = new XmlDocument();
doc1.Load("File.xml");
foreach(XmlNode mainLoop in doc.SelectNodes("Sections")) ??
Run Code Online (Sandbox Code Playgroud)

不确定如何去做.

c# xml xmlnodelist xmlnode linq-to-xml

8
推荐指数
1
解决办法
3万
查看次数

将XmlDocument对象转换为XmlNode对象 - C#?

如何在C#中转换XmlDocument为a XmlNode?我需要将整个XmlDocument对象作为输入参数发送到.NET Web服务.

c# xmldocument xmlnode

7
推荐指数
1
解决办法
2万
查看次数

如何在xs工具生成的代码中使用带有xs:any/## any的复杂类型并混合使用

我的XML模式中有以下复杂类型:

<xs:complexType name="Widget" mixed="true">
    <xs:sequence>
        <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)

派生XML中的元素可以包含字符串或可以包含格式良好的XML,因此mixed属性为true.

当我通过.NET XSD工具运行时,我得到以下生成代码:

public partial class Widget{

    private System.Xml.XmlNode[] anyField;

    /// <remarks/>
    [System.Xml.Serialization.XmlTextAttribute()]
    [System.Xml.Serialization.XmlAnyElementAttribute()]
    public System.Xml.XmlNode[] Any {
        get {
            return this.anyField;
        }
        set {
            this.anyField = value;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我不完全确定我应该如何使用它.最终我需要能够将widget的值设置为:

<widget>Hello World!</widget>
Run Code Online (Sandbox Code Playgroud)

要么

<widget>
  <foo>Hello World</foo>
</widget>
Run Code Online (Sandbox Code Playgroud)

这两个都验证了架构

c# xsd xmlnode xml-serialization

7
推荐指数
1
解决办法
3266
查看次数

以递归方式从 XML 中删除空节点

我想从 XML 元素中删除空节点。此 xml 是从供应商生成的,我无法控制 xml 生成。但是由于 XML 几乎没有空节点,我需要递归地删除这些空节点。

这个 xml 是从 OMElement 得到的,我使用 [XMLUtils][1] Sample XML 从这个对象得到一个 Element

<A>
  <B>
    <C>
      <C1>
        <C11>something</C11>
        <C12>something</C12>
      </C1>
    </C>
    <D>
      <D1>
        <D11>
          <D111 operation="create">
            <Node>something else</Node>
          </D11>
        </D11>
      </D1>
      <D2>
        <D21>

        </D21>
      </D2>
    </D>
  </B>
</A> 
Run Code Online (Sandbox Code Playgroud)

由于 D21 是一个空节点,我想删除 D21,而现在 D2 是一个空节点,我想删除 D2,但由于 D 有 D1,我不想删除 D。

同样,我有可能得到

<A>
  <B>
    <C>

    </C>
  </B>
</A>
Run Code Online (Sandbox Code Playgroud)

现在因为 C 是空的,我想删除 C,然后是 B,最后是节点 A。我试图在Node 中使用 removeChild() 方法来做到这一点

但到目前为止,我无法递归删除它们。有什么建议可以递归删除它们吗?

我递归地尝试获取节点和节点长度。但是节点长度没有帮助

if(childNode.getChildNodes().getLength() == 0 ){
       childNode.getParentNode().removeChild(childNode); …
Run Code Online (Sandbox Code Playgroud)

java xml xmlnode

7
推荐指数
2
解决办法
2万
查看次数

从XmlNode中删除CDATA标记

我有一个XmlNode代表以下xml的例子:

XmlNode xml.innerText =
<book>
<name><![CDATA[Harry Potter]]</name>
<author><![CDATA[J.K. Rolling]]</author>
</book>
Run Code Online (Sandbox Code Playgroud)

我想更改此节点,以便它包含以下内容:

XmlNode xml.innerText =
<book>
<name>Harry Potter</name>
<author>J.K. Rolling</author>
</book>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?
谢谢!

c# xmldocument xmlnode cdata

7
推荐指数
1
解决办法
9826
查看次数