php获取xml属性值
<!-- xml格式
<foo xmlns="test">
<bar attr='a'></bar>
<bar attr='b'></bar>
<bar attr='c'></bar>
</foo>
-->
<?php
$dom = new DOMDocument();
if (!$dom->load('attr.xml'))
{
echo "load books.xml failed!<br>";
return;
}
$foos = $dom->getElementsByTagName('foo');
$var = $foos->item(0)->getAttribute('xmlns');
echo 'var=' . $var . '<br>';
/*foreach ($foos as $foo)
{
$var = $foo->getAttribute('xmlns');
echo 'var=' . $var . '<br>';
}*/
$bars = $dom->getElementsByTagName('bar');
foreach ($bars as $bar)
{
$arr[] = $bar->getAttribute('attr');
}
var_dump($arr);
?>
相关文档:
C#序列化xml
关键步骤:
XmlSerializer xSerializer = new XmlSerializer(typeof(MyObj));
StringWriter sWriter = new StringWriter(CultureInfo.InvariantCulture);
XmlTextWriter xTextWriter = new XmlTextWriter(sWriter);
......
public string ConvertDataTableToXML(DataTable xmlDS)
{
MemoryStream stream = null;
XmlTextWriter writer = null;
try
{
stream = new MemoryStream();
writer = new XmlTextWriter(stream, Encoding.Default);
......
比较:
1. DTD
a. 最早的XML Contraint
b. 由W3C定义
C. 非常简单
2. XML Schema
a. 目前应用最广的XML Contraint
b. 由W3C定义
c. 很灵活,但非常复杂
3. Relax NG
a. 是个野孩子,不是由W3C定义
b. 非常非常简单直观
c. 对于需要频繁定义Contraint的Engineer非常合适
相互转化:
1. XML Document -> DTD ......
用 PHP 读取和编写 XML DOM
使用 DOM 库、SAX 解析器和正则表达式
文档选项
打印本页
将此页作为电子邮件发送
级别: 中级
Jack Herrington (jack_d_herrington@codegeneration.net), 高级软件工程师, "Code Generation Network"
2006 年 2 月 06 日
有许多技术可用于用 PHP 读取和编写 XML。本文提供了三种 ......
PHP支持8种原始类型,其中包括:
4种标量类型:boolean(布尔型)、integer(整型)、float(浮点型)、string(字符型);
2种复合类型:array(数组)、object(对象);
2种特殊类型:resource(资源)、NULL
您可能还会读到一些关于“双精度(double)”类型的参考。实际上 double 和 float 是相同的,由于一些历史的原 ......