【发布时间】:2018-02-18 07:56:05
【问题描述】:
我在将标签元素添加到 cXml 文档时遇到问题。我正在使用来自 cxml.org 的预定义类进行序列化。我想将名为 SharedSecret 的标签添加到现有文档中。它应该看起来像:
<Header>
<From><Credential domain="AribaNetworkUserId">
<Identity>sender@sendercompany.com</Identity>
</Credential>
</From>
<To>
<!-- Recipient -->
<Credential domain="AribaNetworkUserId">
<Identity>recipient@recipientcompany.com</Identity>
</Credential>
</To>
<Sender>
<!-- Sender -->
<Credential domain="AribaNetworkUserId">
<Identity>sender@sendercompany.com</Identity>
<SharedSecret>abracadabra</SharedSecret>
</Credential>
<UserAgent>Sender Application 1.0</UserAgent>
</Sender>
</Header>
我有课:
public partial class Header
{
/// <remarks/>
public From From;
/// <remarks/>
public To To;
/// <remarks/>
public Sender Sender;
/// <remarks/>
[System.Xml.Serialization.XmlArrayItemAttribute("Node", IsNullable = false)]
public Node[] Path;
/// <remarks/>
public OriginalDocument OriginalDocument;
}
public partial class Node
{
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("Credential")]
public Credential[] Credential;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public NodeType type;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public NodeItemDetailsRequired itemDetailsRequired;
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool itemDetailsRequiredSpecified;
}
public Identity Identity;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("CredentialMac", typeof(CredentialMac))]
[System.Xml.Serialization.XmlElementAttribute("DigitalSignature", typeof(DigitalSignature))]
[System.Xml.Serialization.XmlElementAttribute("SharedSecret", typeof(SharedSecret))]
public object Item;
...
public partial class SharedSecret
{
/// <remarks/>
[System.Xml.Serialization.XmlTextAttribute()]
[System.Xml.Serialization.XmlAnyElementAttribute()]
public System.Xml.XmlNode[] Any;
}
而且我不知道如何将此标签添加到文档中。 我花了很多时间尝试添加一些 Xmlnodes 元素和类似的东西。 我无法掌握的最困难的事情是 SharedSecret 类,其中我有一个字段,我必须添加一些插入另一个 XmlNode 的字符串。
所有 cXml 类都可用http://212.59.240.129/upload/cxml.txt
请帮帮我。
【问题讨论】:
-
首先,您发布的课程无效。例如,To 和 From 对象不存在。那么你从哪里得到的课程?您不需要使用序列化来执行此任务。还有其他一些网络方法可以将两个 xml 文档添加在一起,可能更简单。
-
我只粘贴了许多可用的类。 212.59.240.129/upload/cxml.txt
-
共享密钥是一个类似于 Domain 的属性,所以它看起来像这样:
如果这确实有效,则使用示例数据创建类并进行序列化。然后查看序列化结果。 -
@jdweng 这不是属性...OP说得对。
标签: c# xml serialization xsd cxml