c# - 读取标签外的xml注释

标签 c# xml deserialization

我在反序列化某些 xml 时遇到一些问题

 <?xml version="1.0" encoding="utf-8"?>
 <Group>
  <GroupName>.NET</GroupName>2345
 </Group>
 <!-- ID: [123] -->

我如何从这个xml中获取评论(需要获取ID)。

实现 IXmlSerializer 它会非常巨大。有什么想法可以用不同的方式来做吗?

如果此注释可以位于标记之间 - 使用 XmlAttributeOverrides 不是问题,但事实并非如此。

这是进程的开始:

    public object XmlFromStream(HttpWebResponse resp, Type type)
    {
        XmlSerializer xmlSerializer;
        StreamReader responseStream = null;
        try
        {
            xmlSerializer = new XmlSerializer(type);
            Encoding enc = System.Text.Encoding.UTF8;
            responseStream = new StreamReader(resp.GetResponseStream(), enc);
            object objectFromXml = xmlSerializer.Deserialize(responseStream);
            return objectFromXml;
        }
        catch (Exception Ex)
        {
            throw Ex;
        }
        finally
        {
            if (responseStream != null) responseStream.Close();
        }
    }

请说明接下来会发生什么。

ThanX。

最佳答案

文档只有一个根/文档元素,但它也有其他节点。使用 Linq2Xml,你可以像这样把它捞出来:

 var doc = XDocument.Parse(docStr);
 var commentValue = doc.Nodes().OfType<XComment>().First().Value;

关于c# - 读取标签外的xml注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26341083/

相关文章:

c# - 如何使用 LINQ 过滤字符串 []?

c# - 对象引用未设置为对象 xml C# 的实例并使用 C# 在 xml 文件中添加一些节点

python - 使用lxml xpath解析xml文件

php - SimpleXML 动态属性

java - 找不到非具体 Map 类型的反序列化器 [map type;类 javax.ws.rs.core.MultivaluedMap

mysql - 如何反序列化 postmeta 并在 wp_query 中将其用于搜索过滤器

C# 监听麦克风

c# - Console.WriteLine() 与 Console.WriteLine(string.Empty)

java - 匹配的通配符是严格的,但找不到元素 'context:annotation-config' 的声明

c# - 无法使用 BinaryFormatter.Deserialize 找到程序集