Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c xml反序列化_C#_Xml_Serialization - Fatal编程技术网

C# c xml反序列化

C# c xml反序列化,c#,xml,serialization,C#,Xml,Serialization,我有xml,其中又有xml,比如: <?xml version=\"1.0\" encoding=\"UTF-8\"?> <Tag> <Value1> </Value1> <Value2><?xml version=\"1.0\" encoding=\"UTF-8\"?>... </Value2> </Tag> 反序列化在c中对该字符串不起作用。我用java构造这个字符串并将其发送到c应用程序。我该

我有xml,其中又有xml,比如:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Tag>
<Value1> </Value1>
<Value2><?xml version=\"1.0\" encoding=\"UTF-8\"?>... </Value2>
</Tag>

反序列化在c中对该字符串不起作用。我用java构造这个字符串并将其发送到c应用程序。我该如何解决这个问题?

您显示的XML格式不正确。字符串在放入XML输出流之前需要进行编码。您的XML应该如下所示:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Tag>
  <Value1></Value1>
  <Value2>&lt;?xml version=&quot;1.0&quot; ... </Value2>
</Tag>

您显示的XML格式不正确。字符串在放入XML输出流之前需要进行编码。您的XML应该如下所示:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Tag>
  <Value1></Value1>
  <Value2>&lt;?xml version=&quot;1.0&quot; ... </Value2>
</Tag>

一种方法是将。。。作为CData部分:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Tag>
<Value1> </Value1>
<Value2><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>... </Value2>]]>
</Tag>

一种方法是将。。。作为CData部分:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Tag>
<Value1> </Value1>
<Value2><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>... </Value2>]]>
</Tag>

你不想听的可怕答案是XML不仅仅是一个字符串。由于编码和其他原因,您不能可靠地将字符串片段替换为其他片段,而期望格式良好的文档。如果您没有使用适当的XML库,顺便说一句,它们在所有主要的框架中,您仍然可以通过确保XML片段字符串的编码实际上是相同的,将它们组合在一起,通过从任何片段的开头删除。您不想听到的可怕答案是XML不仅仅是一个字符串。由于编码和其他原因,您不能可靠地将字符串片段替换为其他片段,而期望格式良好的文档。如果您没有使用适当的XML库,顺便说一句,它们在所有主要的框架中,您仍然可以通过确保XML片段字符串的编码实际上是相同的,将它们组合在一起,通过从任何片段的开头删除。假定您确实希望递归地将一个文档存储在另一个文档中,CDATA节将适用于外部文档,但您也不能递归地将CDATA节存储在内部文档中。假定您确实希望递归地将一个文档存储在另一个文档中,CDATA节适用于外部文档,但不能在内部文档中递归存储CDATA节。