已知有一个XML文件(bookstore.xml)如下:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
</bookstore>
1、往<bookstore>节点中插入一个<book>节点:
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
XmlElement xe1=xmlDoc.CreateElement("book");//创建一个<book>节点
xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性
XmlElement xesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS从入门到精通";//设置文本节点
xe1.AppendChild(xesub1);//添加到<book>节点中
XmlElement xesub2=xmlDoc.CreateEleme ......
已知有一个XML文件(bookstore.xml)如下:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
</bookstore>
1、往<bookstore>节点中插入一个<book>节点:
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
XmlElement xe1=xmlDoc.CreateElement("book");//创建一个<book>节点
xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性
XmlElement xesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS从入门到精通";//设置文本节点
xe1.AppendChild(xesub1);//添加到<book>节点中
XmlElement xesub2=xmlDoc.CreateEleme ......
1.books.html
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
var xmlHttpReq = false;
function createXMLHttpRequest(){
try{
//Firefox,Opera8.0+,Safari
&n ......
动态创建TXMLDocument对XML文件进行读取和写入 - [Delphi高级应用]
2008-01-16
Tag:Delphi XML XMLDocument
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://overblue.blogbus.com/logs/13954596.html
uses
XMLDoc, XMLIntf;
{ 写入XML内容 }
var
XMLDoc : TXMLDocument;
Node1 : IXMLNode;
Node2 : IXMLNode;
begin
XMLDoc := TXMLDocument.Create(nil);
try
XMLDoc.Active := True;
XMLDoc.Version := '1.0';
XMLDoc.Encoding := 'GB2312';
XMLDoc.Options := [doNodeAutoCreate,doNodeAutoIndent,doAttrNull,doAutoPrefix,doNamespaceDecl];
XMLDoc.DocumentElement := XMLDoc.CreateNode('ReportObjectContent');
Node1 := XMLDoc.DocumentElement;
Node1 := Node1.AddChild('ReportObjectProperty');
Node2 := Node1.AddChild('ReportName');
Node2.SetAttributeNS('Value', '', ReportN ......
问题:
根据google规定,在给自动给网站生成sitemap.xml的时候, 给根结点加如下属性时,遇到了麻烦
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
用很多方法,像addAttribute, addNamespce都不行
解决方法:
Document document = DocumentHelper.createDocument();
Element root = document.addElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");
这样会自动生成xmlns属性
生成结果:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://***</loc>
<priority>0.5</priority>
<lastmod>2010-02-24</lastmod>
<changefreq>weekly</changefreq>
</url>
....
</urlset> ......
USE Test
--Create 2 tables as an example
CREATE TABLE ExampleTable
(
[ID] int PRIMARY KEY
,[Name] nvarchar(256)
)
CREATE TABLE ExampleTable2
(
[ID] int PRIMARY KEY
,[Name] nvarchar(256)
)
----way1
SELECT *
from sys.objects [table]
WHERE
[Name] LIKE 'ExampleTable%'
FOR XML AUTO, ROOT('tables')
--way2
SELECT[name] AS [@name], object_id AS [@object_id],
* from sys.objects
WHERE [Name] LIKE 'ExampleTable%'
FOR XML PATH('table'), ROOT('tables')
--SELECT * from sys.objects WHERE [Name] LIKE 'ExampleTable%'
--Way3
-------------------------------------
--Nested Results using FOR XML PATH--
-------------------------------------
-------------------------------------
--Nested Results using FOR XML PATH--
-------------------------------------
SELECT
t.[name] AS [@name]
,t.object_id AS [@object_id]
,t.[create_date] AS [date/@cdate]
,t.[modify_date] AS [date/mdate]
,CAST('<mydata>some random xml</mydata>' AS xml) [*]
,(
&nbs ......
USE Test
--Create 2 tables as an example
CREATE TABLE ExampleTable
(
[ID] int PRIMARY KEY
,[Name] nvarchar(256)
)
CREATE TABLE ExampleTable2
(
[ID] int PRIMARY KEY
,[Name] nvarchar(256)
)
----way1
SELECT *
from sys.objects [table]
WHERE
[Name] LIKE 'ExampleTable%'
FOR XML AUTO, ROOT('tables')
--way2
SELECT[name] AS [@name], object_id AS [@object_id],
* from sys.objects
WHERE [Name] LIKE 'ExampleTable%'
FOR XML PATH('table'), ROOT('tables')
--SELECT * from sys.objects WHERE [Name] LIKE 'ExampleTable%'
--Way3
-------------------------------------
--Nested Results using FOR XML PATH--
-------------------------------------
-------------------------------------
--Nested Results using FOR XML PATH--
-------------------------------------
SELECT
t.[name] AS [@name]
,t.object_id AS [@object_id]
,t.[create_date] AS [date/@cdate]
,t.[modify_date] AS [date/mdate]
,CAST('<mydata>some random xml</mydata>' AS xml) [*]
,(
&nbs ......
PHP从PHP5开始,彻底重新编写的和新增了对XML的扩展,如 SAX 解析器、DOM、SimpleXML、XMLReader、XMLWriter 和 XSLT 处理程序。所有这些扩展都以 libxml2 为基础。
=============================
1、DOMDocument对象常用方法:
=============================
a)createElement(elementName)
该方法以元素名为参数创建一个用此参数命名的元素节点。(不能创建名称空间受限制的元素。如果要创建名称空间受限制的元素,必须使用createNode()方法)
例:doc.createElement("PRODUCT"),有些用到:doc->creatElement('item')
b)createAttribute(attributeName)
该方法以属性名为参数创建一个用此参数命名的属性节点。
例:doc.createAttribute("PRODID")
xml中表现形式:<itemupload_name="上3"><download_name>下载通道名称</download_name></item>
c)createComment(text)
该方法以字符串为参数创建一个包含此字符串的注释节点。
&nb ......
PHP从PHP5开始,彻底重新编写的和新增了对XML的扩展,如 SAX 解析器、DOM、SimpleXML、XMLReader、XMLWriter 和 XSLT 处理程序。所有这些扩展都以 libxml2 为基础。
=============================
1、DOMDocument对象常用方法:
=============================
a)createElement(elementName)
该方法以元素名为参数创建一个用此参数命名的元素节点。(不能创建名称空间受限制的元素。如果要创建名称空间受限制的元素,必须使用createNode()方法)
例:doc.createElement("PRODUCT"),有些用到:doc->creatElement('item')
b)createAttribute(attributeName)
该方法以属性名为参数创建一个用此参数命名的属性节点。
例:doc.createAttribute("PRODID")
xml中表现形式:<itemupload_name="上3"><download_name>下载通道名称</download_name></item>
c)createComment(text)
该方法以字符串为参数创建一个包含此字符串的注释节点。
&nb ......