相关疑难解决方法(0)

在将XML文件读入XmlDocument时如何忽略注释?

我试图用C#读取XML文档,我这样做:

XmlDocument myData = new XmlDocument();
myData.Load("datafile.xml");
Run Code Online (Sandbox Code Playgroud)

无论如何,我有时会在阅读XmlNode.ChildNodes时收到评论.

为了让谁遇到同样的要求,最后我就是这样做的:

/** Validate a file, return a XmlDocument, exclude comments */
private XmlDocument LoadAndValidate( String fileName )
{
    // Create XML reader settings
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.IgnoreComments = true;                         // Exclude comments
    settings.ProhibitDtd = false;                           
    settings.ValidationType = ValidationType.DTD;           // Validation

    // Create reader based on settings
    XmlReader reader = XmlReader.Create(fileName, settings);

    try {
        // Will throw exception if document is invalid
        XmlDocument document = new XmlDocument();
        document.Load(reader);
        return document;
    } …
Run Code Online (Sandbox Code Playgroud)

.net c# xml comments

24
推荐指数
3
解决办法
2万
查看次数

如何读取xml字符串忽略标题?

我想读取一个 xml 字符串而忽略标题和注释。

忽略评论很简单,我在这里找到了解决方案。但我没有找到任何解决方案来忽略标题。

让我举个例子吧:

考虑这个xml:

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Some comments -->
<Tag Attribute="3">
    ...
</Tag>
Run Code Online (Sandbox Code Playgroud)

我想将 xml 读取到一个字符串中,只获取元素“标签”和其他元素,但没有“xml 版本”和注释。

元素“标签”只是一个例子。可能存在许多其他人。

所以,我只想要这个:

<Tag Attribute="3">
    ...
</Tag>
Run Code Online (Sandbox Code Playgroud)

我到目前为止的代码:

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Some comments -->
<Tag Attribute="3">
    ...
</Tag>
Run Code Online (Sandbox Code Playgroud)

我没有在 XmlReaderSettings 上找到任何东西来做到这一点。

我是否需要逐个节点地选择我想要的节点?这个设置不存在?

编辑 1: 只是为了恢复我的问题。我需要在 WebService 的 CDATA 中使用 xml 的内容。当我发送评论或 xml 版本时,我收到了 xml 部分的特定错误。所以我假设当我阅读没有版本、标题和评论的 xml 时,我会很高兴。

c# xml xmldocument xmlreader

3
推荐指数
1
解决办法
5130
查看次数

标签 统计

c# ×2

xml ×2

.net ×1

comments ×1

xmldocument ×1

xmlreader ×1