W3CSchool XML学习笔记

1 XML 的属性值须加引号

2 几个转义

&lt;<
&gt;>
&amp;&
&apos;'
&quot"

3 何时用属性何时用子节点?

在 HTML 中(以及在 XML 中),属性提供有关元素的额外信息

没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素。我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性 。如果信息感觉起来很像数据,那么请使用子元素吧。

元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素

4 xml显示

xstl样式(推荐)

 

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="simple.xsl"?>

 

5 javascript中xml解析常见写法

解析xml文件

try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    xmlDoc=document.implementation.createDocument("","",null);
    }
  catch(e)
    {
    alert(e.message);
    return;
    }
  }
xmlDoc.async=false;
xmlDoc.load("/example/xmle/note.xml");

解析字符串:

try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(text);
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
  {
  parser=new DOMParser();
  xmlDoc=parser.parseFromString(text,"text/xml");
  }
  catch(e)
  {
  alert(e.message);
  return;
  }
}
 

6 两种DOM

XML DOM

  • xmlDoc -由解析器创建的 XML 文档
  • getElementsByTagName(" ")[0] - 第一个 <to> 元素
  • childNodes[0] - <to> 元素的第一个子元素(文本节点)
  • nodeValue - 节点的值(文本本身)
  • createElement() 方法创建新的元素节点。

  • createTextNode() 方法创建新的文本节点。

  • appendChild() 方法向节点添加子节点(在最后一个子节点之后)。

  • removeChild() 方法删除指定的节点(或元素)。

常见用法:

得到一个节点的值:

str = document.getElementsByTagName("t")[0].childNode[0].nodeValue;

 增加一个节点:

newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);
old.appendChild(newel);
 

 

HTML DOM

  • document - HTML 文档
  • getElementById("to") - 其中的 id="to" 的 HTML 元素
  • innerHTML - HTML 元素的内部文本

7 XMLHttpRequest常见创建写法和用法

创建

try
  {// Firefox, Opera 8.0+, Safari, IE7
  xmlHttp=new XMLHttpRequest();
  }
catch(e)
  {// Old IE
  try
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  catch(e)
    {
    alert ("Your browser does not support XMLHTTP!");
    return;  
    }
  }

 使用

if (xmlhttp!=null)
  {
  xmlhttp.onreadystatechange=state_Change;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  }
else
  {
  alert("Your browser does not support XMLHTTP.");
  }
}

function state_Change()
{
if (xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (xmlhttp.status==200)
    {// 200 = OK
    // ...our code here...
    }
  else
    {
    alert("Problem retrieving XML data");
    }
  }
}

  8 命名空间

使用前缀

使用xmlns属性把前缀关联到唯一的uri

如果没有前缀,表明采用默认uri

 

  9 CDATA的作用

CDATA 内部的所有东西都会被解析器忽略

假如文本中包含了大量的 "<" 和 "&" 字符 - 就像编程代码中经常出现的情况一样 - 那么这个 XML 元素就可以被定义为一个 CDATA 部分。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值