【发布时间】:2012-10-04 14:21:19
【问题描述】:
我编写了一些 .net 代码来使用 XMLSerializer 类序列化对象。
public static string serialize(object o)
{
Type type = o.GetType();
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(type);
System.IO.StringWriter writer = new System.IO.StringWriter();
serializer.Serialize(writer, o);
return writer.ToString();
}
输出如下:
<?xml version="1.0" encoding="utf-16"?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>a</string>
<string>b</string>
<string>c</string>
</ArrayOfString>
这很好,但我真正想要的是在开始时只获取根节点而没有 XML doctype 声明。
我想这样做是因为我想将 XML 序列化对象的根元素用作另一个 XML 文档的一部分。
【问题讨论】:
-
我应该补充一点,我确信我可以通过字符串操作来做到这一点,但我希望可能有一个内置机制来做到这一点。
-
不是一个真正的答案,但你总是可以使用类似 str.substring(str.indexof('>')+1) 的东西。 (我不使用 C#,所以不确定语法,但你明白了)
-
你给我们看的sn-p根本没有doctype。
-
@Joey,我指的是`。这个 sn-p 的正确术语是什么?
-
这是一个 XML 声明。
标签: c# .net xml xml-serialization