PHP对XML的支持
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)
该方法以字符串为参数创建一个包含此字符串的注释节点。
例:doc.createComment("ThisisanXMLdocument")
<item><!--upload_name--><download_name>下载通道名称</download_name></item>
d)createTextNode(text)
该方法以字符串为参数创建一个包含指定字符串的正文节点。
例:doc.createTextNode("SonyWorkman")
e)createNode(type,name,namespace-URI)
该方法创建元素节点。三个参数,"类型"参数是variant型,既可以是字符串也可以是整型。第二个参数是字符串,它代表将要创建的节点的名字。第三个参数是代表namespace-URI的字符串。如果namespace-URI为空字符串,则新创建的节点就没有名称空间URI
例:doc.createNode("element","PRODUCT","")
doc.createNode("element","prod:PRODUCT","blog.csdn.net/fcrpg2005")
doc.createNode(1,"PRODUCT","")
f)getElementsByTagName(elementName)
相关文档:
按照名为"mydomain1.com"的 DomainName
属性对以下 XML 数据执行不区分大小写的搜索
<?xml version="1.0" ?>
<Domains>
<DomainName>Mydomain1.COM</DomainName>
</Domains>
MSXML 3.0 中 translate
的语法如下:
oXML.setProperty "SelectionLanguage&q ......
转贴地址:http://java.chinaitlab.com/advance/755393.html
现象描述:JDom输出Xml文件,当使用字符编码GBK时正常,而输出UTF-8时乱码。
完美的解决方法从辟谣开始:
1)JDOM是否生成UTF-8的文件与Format是否设置无关,只有输出其他字符编码才需要设置,见下面的注释。
& ......
ref : http://blog.csdn.net/High_Mount/archive/2008/09/19/2953335.aspx
转义字符
不合法的XML字符必须被替换为相应的实体。
如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:
<message>if salary < 1000 then</me ......
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 ......
问题:
根据google规定,在给自动给网站生成sitemap.xml的时候, 给根结点加如下属性时,遇到了麻烦
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
用很多方法,像addAttribute, addNamespce都不行
解决方法:
Document document = DocumentHelper.createDocument();
Element root = document.addEl ......