我正在尝试复制:

    <gcf>
        <cbxDecOnly Type="Boolean">False</cbxDecOnly>
        <cbxFormName Type="String" />
        <txtCustomerCellPhonePart2 Type="String">5236</txtCustomerCellPhonePart2>
        <txtCustomerCellPhonePart1 Type="String">533</txtCustomerCellPhonePart1>
        ....
    </gcf>


到目前为止,我有:

var xdoc = new XDocument(
    new XDeclaration("1.0", "utf-8", null),
    new XElement("gcf",
    new XElement("cbxDecOnly", new XAttribute("Type", "Boolean")),
    new XElement("cbxFormName", oGSFE.TextBoxClientName),
    new XElement("txtCustomerCellPhonePart2", oGSFE.TextBoxDealSearch),
    new XElement("txtCustomerCellPhonePart1 ", oGSFE.DropDownListFIManager)
                )
            );


我不知道如何将XAttribute和值同时添加到XML元素<cbxDecOnly Type="Boolean">False</cbxDecOnly>

最佳答案

用相同的方式为txtCustomerCellPhonePart2等节点提供值-通过将字符串值包括为element's params content[]之一:

var xdoc = new XDocument(
    new XDeclaration("1.0", "utf-8", null),
    new XElement("gcf",
    new XElement("cbxDecOnly", "False", new XAttribute("Type", "Boolean")),
    new XElement("cbxFormName", oGSFE.TextBoxClientName),
    new XElement("txtCustomerCellPhonePart2", oGSFE.TextBoxDealSearch),
    new XElement("txtCustomerCellPhonePart1", oGSFE.DropDownListFIManager)
    )
);


string中提供的任何content[]类型的值都将合并到元素的值中,任何XAttribute类型的值都将创建属性,而任何XElement类型的值都将成为子元素。

关于c# - 使用XDocument和XElement如何在C#中向XML添加XAttribute和值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29413714/

10-13 08:03