0

可能重复:
如何使用 LINQ to XML 包含 CData?

大约一个月前,我写了一篇关于在 Web 服务的 CDATA 标记中包装一些数据的文章(这是他们的要求,不是我的要求)。我做了一堆故障排除,并研究了一个提供一些结果的示例。(请参阅将类序列化为 XML 并包含代码和结果的 CDATA 部分的问题)

现在我意识到类设计至少可以说很糟糕,并且重写了我之前编写的大部分代码。因此,我花了一些时间才回到我之前提出的同一个问题。

为了简洁起见,我决定提出一个新问题并保留旧问题。

我的(修改后的)问题

我是否能够使用 XmlDocument 创建直到 CDATA 部分的元素,然后使用该CreateCDataSection()方法创建 CDATA 部分,如下所示?

<UpdateOrderStatus> 
    <Action>2</Action> 
        <Value> 
            <![CDATA[ 
                <Shipment> 
                    <Header> 
                        <SellerID>
                            ...
             ]]>
         </Value>
 </UpdateOrderStatus>

我能够将现有对象序列化为正确的 XML 片段,但是我不能 100% 确定这段代码是否正确或是否有更好的方法:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.CreateDocumentFragment();
xmlDoc.CreateElement("Shipment");
xmlDoc.CreateElement("Action");
xmlDoc.CreateTextNode("2");
xmlDoc.CreateElement("Value");
xmlDoc.CreateCDataSection(orderToUpdate);

如果你正在编程,你会怎么做?我不一定需要代码,除非这个概念只能以这种方式显示。类名或 MSDN 参考等都可以

4

0 回答 0