易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : xml

Expat XML解析器的介绍

互联网发展得很快,都是源自于使用了超文本的表达方式。比如你查看一篇文章,看到不懂的关键字,就可以通过链接去查看它的内容,看完之后再回来接着看原来的东西,这样比较适合学习的方式。使用HTML标记的文本,是结构化储存的,这样的表达方式才可以实现超级连接。由于HTML具有超强的表达能力,也就在互联网上生存下来,那么人们就会想到能不能使用这种方式来保存所有需要保存的内容呢?慢慢地就开发XML标记语言,用来保存任意想保存的内容。由于XML具有HTML同样的功能,并且不限定标记,这样就可以表达所有的东西了。并且XML是基于树形结构的,想表达的信息就可以采用归类树的方式来组织内容了,这样能产生灵活可变的内容管理方式。比如在第二人生里采用参数配置文件,也是选择XML来保存的,并且使用expat的XML解析器来实现这方面的内容。接着下来,我们就来了解一下expat是什么东东,又是怎么样调用它来解析XML文件的。
 
expat是使用C编写的XML解释器,采用流的方式来解析XML文件,并且基于事件通知型来调用分析到的数据,并不需要把所有XML文件全部加载到内存里,这样可以分析非常大的XML文件。由于expat库是由XML的主要负责人James Clark来实现的,因此它是符合W ......

手打原xml笔记手抄本

1. <?xml version="1.0" encoding="GB2312" standalone="yes" ?>
       1.1 这是xml的文档声明,一般位于xml文件的首行。
       1.2 书写规范:<?xml为一体 之间不能有空格。
       1.3 encoding属性,如果没有,就默认为Unicode编码,系统会自动识别是utf-8或者utf-16.
2. xml标记是区分大小写的。
3. xml注释和html相同。<!-- 注释内容 -->
4. 在xml中,所有的换行和空格都被”无损“的作为内容,例如下面两个元素的内容是不一样的:
        <书名>123</书名>
        <书名>
            123
        </书名>
 5. 如果元素的内容和xml的语法标记有冲突,例如x<3作为元素的内容时,<就会与xml的语法冲突。解决方法是
       5.1 使用CDATA区域。例如:
      ......

将表或查询存储为标准的XML文件

/*--存为XML
 将表/查询存储为标准的XML文件
--*/
/*--调用示例
 --用SQL用winows身份验证的情况
 exec p_savexml @sql='地区资料',@fname='c:\地区资料.xml'
 --用指定的用户
 exec p_savexml @sql='地区资料',@fname='c:\地区资料.xml',@userid='sa'
--*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_savexml]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_savexml]
GO
create proc p_savexml
@sql varchar(8000),     --要保存的表/视图/SQL查询语句
@fname varchar(1000)='c:\tmp.xml', --保存的XML文件名
@userid varchar(50)='',    --用户名,如果为nt验证方式,则为''
@password varchar(50)=''   --密码
as
declare @err int,@src varchar(255),@desc varchar(255)
declare @obj int,@constr varchar(1000)
if isnull(@userid,'')=''
 set @constr='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='
  +db_name()+';Data Source='+@@servername
else ......

把XMLDocument转换成xml字符串

XMLDocument类提供了丰富的属性和方法,可以帮助我们轻松完成xml的编辑。但是,完成后的xml很多情况下可能还是需要以字符串形式传递。XMLDocument有个Save方法,不仅可以保存XML文件至磁盘,还能将其保存至指定的流,然后,就能从这个流(stream)读取所需要的字符串了。
XmlDocument doc = new XmlDocument();
...
...//生成xml的代码
实例化一个流,并将生成的XMLDocument保存在其中:
MemoryStream stream = new MemoryStream();
XmlTextWriter writer = new XmlTextWriter(stream, null);
writer.Formatting = Formatting.Indented;
doc.Save(writer);
声明一个StreamReader,用于读取刚才那个Stream中的数据到一个字符串变量
StreamReader sr = new StreamReader(stream, Encoding.UTF8);
stream.Position = 0;
string XMLString = sr.ReadToEnd();
sr.Close();
stream.Close();
******** ......

D Bus学习(八):利用XML定义D Bus之Server的例子


  在此先感谢http://blog.chinaunix.net/u3/111961/showart_2187819.html
。这是篇极好的文章。
  在上次学习中,我们写了client小例子,非常简单,而且通过dbus-binding-tool生成的头文件,非常规范。相比执行,server稍微复杂些,仍然使用上次的xml文件,但是去掉annotation,更为本原一些。文件wei.xml如下:
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/com/wei/MyObject">
  <interface name="com.wei.MyObject.Sample">
    <method name="Test">
      <arg name="x" type="u" direction="in" />
      <arg name="d_ret" type="d" direction="out" />
    </method >
  </interface >
</node >
  客户端小程序上次学习给出,正好用于实验。下面详细讲述步骤。
步骤一:生成头文件
dbus-binding-tool --mode=glib-server --prefix=com_wei wei.xml > wei_se ......

LINQ to XML 学习笔记

LINQ to XML 可以看作是一个 “better DOM” 编程模型,可以和 System.Xml.dll 程序集中的很多成员交互。
一、命名空间
System.Xml.Linq.dll 程序集定义了三个命名空间:System.Xml.Linq, System.Xml.Schema  和 System.Xml.XPath
最核心的是 System.Xml.Linq, 定义了对应 XML 文档个方面的很多类型
Member of System.Xml.Linq
Meaning in Life
XAttribute
Represents an XML attribute on a given XML element
XComment
Represents an XML comment
XDeclaration
Represents the opening declaration of an XML document
XDocument
Represents the entirety of an XML document
XElement
Represents a given element within an XML document
XName/XNamespace
Provide a very simple manner to define and reference XML namespaces
二、编程方式创建XML文档
以前的 .NET XML编程模型需要使用很多冗长的 DOM API,而 LINQ to XML 则完全可以用与 DOM 无关的方式与 XML 文档交互。这样不但大大减少了代码行,而且这种编程模型可以直接映射到格式良好的XML文档结构。
static void CreateFunctionalXmlElement()
{
// ......
总记录数:815; 总页数:136; 每页6 条; 首页 上一页 [31] [32] [33] [34] 35 [36] [37] [38] [39] [40]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号