Xml Tips

Xml Tips

//z 2012-3-7 16:43:47 PM IS2120@CSDN

1. xml 中的注释

<!-- 这是注释 -->

并非用于 XML 分析器的内容(例如与文档结构或编辑有关的说明)可以包含在注释中。注释以 <!-- 开头,以 --> 结尾,例如<!--catalog last updated 2000-11-01-->

注释可以出现在文档序言中,包括文档类型定义 (DTD);文档之后;或文本内容中。注释不能出现在属性值中。不能出现在标记中。

分析器在遇到 > 时,就认为注释已结束;然后继续将文档作为正常的 XML 处理。因此,字符串 > 不能出现在注释中。除了该限制之外,任何合法的 XML 字符均可以出现在注释中,与 CDATA 节非常类似。这样,可以从分析器看到的输出流中删除 XML 注释,同时又不会删除文档的内容。

以下注释可以用于暂时除去标记。

<!--- <test pattern="SECAM" /><test pattern="NTSC" /> -->
注意//z 2012-3-7 16:43:47 PM IS2120@CSDN

在 HTML 中,可以使用注释来隐藏脚本和样式表。要在 XML 中使用此方法,可能必须检索注释,提取注释的内容,检查是否有标记字符,然后再进行重新分析。在此例中,CDATA 节是更好的选择。


2. 验证 xml 的合法性
??感觉不合适
public class MyXmlDocument: XmlDocument
{bool TryParseXml(string xml){try{ParseXml(xml);return true;}catch(XmlException e){return false;}}
Using a XmlValidatingReader will prevent the exceptions, if you provide your own ValidationEventHandler.


using System;
using System.Xml;
using System.Xml.Schema;
using System.Xml.XPath;

class XPathValidation
{
    static void Main()
    {
        try
        {
            XmlReaderSettings settings = new XmlReaderSettings();
            settings.Schemas.Add("http://www.contoso.com/books""contosoBooks.xsd");
            settings.ValidationType = ValidationType.Schema;

            XmlReader reader = XmlReader.Create("contosoBooks.xml", settings);
            XmlDocument document = new XmlDocument();
            document.Load(reader);

            ValidationEventHandler eventHandler = new ValidationEventHandler(ValidationEventHandler);

            // the following call to Validate succeeds.
            document.Validate(eventHandler);

            // add a node so that the document is no longer valid
            XPathNavigator navigator = document.CreateNavigator();
            navigator.MoveToFollowing("price""http://www.contoso.com/books");
            XmlWriter writer = navigator.InsertAfter();
            writer.WriteStartElement("anotherNode""http://www.contoso.com/books");
            writer.WriteEndElement();
            writer.Close();

            // the document will now fail to successfully validate
            document.Validate(eventHandler);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }

    static void ValidationEventHandler(object sender, ValidationEventArgs e)
    {
        switch (e.Severity)
        {
            case XmlSeverityType.Error:
                Console.WriteLine("Error: {0}", e.Message);
                break;
            case XmlSeverityType.Warning:
                Console.WriteLine("Warning {0}", e.Message);
                break;
        }

    }
}

转载于:https://www.cnblogs.com/IS2120/archive/2012/03/07/6745931.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法复杂度为O(N) 的排序算法

题目&#xff1a;某公司有几万名员工&#xff0c;请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序&#xff0c;可使用O(1)的辅助空间。分析&#xff1a;排序是面试时经常被提及的一类题目&#xff0c;我们也熟悉其中很多种算法&#xff0c;诸如插入排序、归并排序、…

OpenJudge计算概论-字符串排序

/* 字符串排序 总时间限制: 1000ms 内存限制: 65536kB 描述 参考整数排序方法&#xff0c;设计一种为字符串排序的算法&#xff0c;将字符串从小到大输出 输入 第一行为测试数据组数t, 后面跟着t组数据。每组数据第一行是n&#xff0c;表示这组数据有n行字符串&#xff0c;接下…

Window7+vs2008+QT环境搭建

记录下自己是如何搭建QT开发环境的&#xff0c;备忘吧。操作系统&#xff1a;win7&#xff0c;其实winXP&#xff0c;win7都没有关系&#xff1b;我使用的机器安装的操作系统是win7&#xff1b;开发环境是VS&#xff0c;使用2005,2008,2010或者即将发布的2011都行&#xff1b;因…

history命令

1. 历史命令不会无休止的保存下去&#xff0c;默认的最大保存量为1000条输入&#xff1a;echo $HISTSIZE1000条从profile文件中定义的&#xff0c;可以在里面修改保存数量。/etc/profile用于整个系统所有用户&#xff0c; ~/.bash_profile, ~/.profile和~/.bashrc 用于各个用户…

Javascript创建对象的几种方式?

javascript 中常见的创建对象的几种方式&#xff1a; 1. 使用Object构造函数创建&#xff1b; 使用Object构造函数来创建一个对象&#xff0c;下面代码创建了一个person对象&#xff0c;并用两种方式打印出了Name的属性值。 var person new Object(); person.name"kevin&…

使用DIV之后 table何去何从

表格并非鸡肋 相反是一道大餐 XHTML标准中的一些元素分为三大类&#xff1a; 辅助布局设计元素&#xff1a;DIV SPAN 这类元素的主要功能是用来布局整个页面的&#xff0c;灵活使用这些元素的各种属性&#xff0c;可以让你的页面表现丰富多彩。结构化元素或信息元素&#xff1…

使用 RMAN 同步数据库

使用 RMAN 同步数据库使用 RMAN 同步数据库一&#xff0e;概述二 操作步骤(一)&#xff0e;把生产库置为归档模式(二).启动rman做数据库0级备份(三)&#xff0e;修改生产库数据库到未归档(四)&#xff0e;拷贝备份集到测试库(五).在测试库上的操作一&#xff0e;概述 因项目组遇…

解决 用户'sa'登录失败。错误:18456 问题

问题描述&#xff1a;用户sa登录失败。错误:18456 产生原因&#xff1a;由于服务器身份验证模式为‘Windows 身份验证模式’&#xff0c;所以导致登录失败 解决方案&#xff1a; 1.使用‘Windows 身份验证模式’登录服务器 2.打开‘对象资源管理器’&#xff0c;右键根节点…

js实现图片上传预览及进度条

js实现图片上传预览及进度条 原文js实现图片上传预览及进度条 最近在做图片上传的时候&#xff0c;由于产品设计的比较fashion&#xff0c;上网找了比较久还没有现成的&#xff0c;因此自己做了一个&#xff0c;实现的功能如下&#xff1a; 1&#xff1a;去除浏览器<input …

webapi文档描述-swagger

最近做的项目使用mvcwebapi&#xff0c;采取前后端分离的方式&#xff0c;后台提供API接口给前端开发人员。这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员,最初打算使用word文档方式进行交流&#xff0c;实际操作中却很少动手去写。为了解决这个问题&…

《推荐系统实践》样章:如何利用用户标签数据

《推荐系统实践》样章&#xff1a;如何利用用户标签数据 推荐系统的目的是联系用户的兴趣和物品&#xff0c;这种联系需要依赖于不同的媒介。GroupLens在文章1中认为目前流行的推荐系统基本上通过三种方式来联系用户兴趣和物品。如图1所示&#xff0c;第一种方式是通过用户喜欢…

应用程序创建自己的奔溃转储(crash dump)文件

1、注册自定义的UnhandledExceptionFilter&#xff0c;C/C Runtime Library下需要注意自定义handler被移除&#xff08;hook kernel32.dll的SetUnhandledExceptionFilter使它返回一个空指针即可&#xff09;。 PTOP_LEVEL_EXCEPTION_FILTER v_prevUnhandledExceptionFilter;…

jqMobi + Android 试手

忙活的一个晚上&#xff0c;搞定了一个界面&#xff0c;主要在滚动条和风格上花了不少时间&#xff0c;jqMobi的文档真的少的可怜&#xff0c;希望文档可以多点&#xff0c;以下是几份参考资料&#xff1a; 最新的Api参考&#xff1a;http://www.shareach.com/jq/一些简单的范例…

STM32 基于正电原子开发板,改换芯片为STM32F103R6,Proteus仿真的一些问题

最近在学STM32&#xff0c;网上收集了一些信息&#xff0c;最后用正点原子的开发板来学习。 MDK的配置请参考原子哥的资料&#xff0c;我主要的学习方法是参考原子哥的开发板与实验案例&#xff0c;改换不一样的芯片&#xff0c;也要做出的一样的效果。但在最基础的入门就遇到…

深入理解闭包系列第二篇——从执行环境角度看闭包

前面的话 本文从执行环境的角度来分析闭包&#xff0c;先用一张图开宗明义&#xff0c;然后根据图示内容对代码进行逐行说明&#xff0c;试图对闭包进行更直观的解释 图示 说明 下面按照代码执行流的顺序对该图示进行详细说明 function foo(){var a 2;function bar(){console.…

没事写着玩 系列之 JQ连连看(很丑陋,很初级)

说明:(图片自备, 名称为 jpg[0,2].jpg class为( one two three)对应 前面的 0,1,2) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://ww…

VS2017 调用Tesseract

最近在学tesseract&#xff0c;但遇到太多的问题是。 虽然网上有不少的方法&#xff0c;就算是按照tersseract&#xff0c;github上提供的方法也是编译不成功。 问题一大堆。不过我也想到了其它方法最张还是可以用了。 我有2个方法&#xff0c; 方法1, 1&#xff0c;先build t…

最少步数----深搜

最少步数 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;4描述这有一个迷宫&#xff0c;有0~8行和0~8列&#xff1a; 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1…

由单例模式造成的内存泄漏

使用单例模式时&#xff0c;有时候不小心&#xff0c;就会很容易造成内容泄漏&#xff0c;如下代码所示&#xff1a;public class SingleInstance { private static volatile SingleInstance instance; private Context context; private SingleInstance(Context context) {thi…

在windows上安装OpenCV

在windows上安装OpenCV&#xff0c;官方提供的教程&#xff0c;我翻译了一下。如有不正解&#xff0c;请指正 使用git-bash&#xff08;版本> 2.14.1&#xff09;和cmake&#xff08;版本> 3.9.1&#xff09;安装 1.您必须下载cmake&#xff08;版本> 3.9.1&…