php怎么获取XML节点属性值

php怎么获取XML节点属性值,第1张

假定这个xml是一个字串 $xml

$xml = new SimpleXMLElement($xml);

$autoPlay = $xml->attributes()->autoPlay;

$autoNextSong = $xml->attributes()->autoNextSong;

这样你获取的会是两个对象, 如果需要用来做某些特定的事情, 比如显示

echo (string)$autoPlay;

elSetAttribute("name","风云"); //添加person节点属性"name"

elSetAttribute("sex","女"); //添加person节点的属性 "sex"

elSetAttribute("age","25"); //添加person节点的属性 "age"

XmlElement xesub1=xmlDocCreateElement("pass"); //添加person节点的里的节点

xesub1InnerText="123";//设置文本节点

elAppendChild(xesub1);

XmlElement xesub2=xmlDocCreateElement("Address");

xesub2InnerText="昆明";//设置文本节点

elAppendChild(xesub2);

xmldocSelectAppendChild(el);

xmlDocSave(ServerMapPath("userxml"));}//修改节点private void UpdateElement(){LoadXml();XmlNodeList nodeList=xmlDocSelectSingleNode("user")ChildNodes;//获取bookstore节点的所有子节点

foreach(XmlNode xn in nodeList)//遍历所有子节点{XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型

if(xeGetAttribute("name")=="风云")//如果name属性值为风云{xeSetAttribute("name","发明");

//如果下面有子节点在下走

XmlNodeList nls=xeChildNodes;//继续获取xe子节点的所有子节点

foreach(XmlNode xn1 in nls)//遍历{XmlElement xe2=(XmlElement)xn1;//转换类型

if(xe2Name=="pass")//如果找到{xe2InnerText="66666";//则修改break;}}break;}}xmlDocSave(ServerMapPath("userxml"));//保存}//删出节点private void deleteNode(){LoadXml();XmlNodeList xnl=xmlDocSelectSingleNode("user")ChildNodes;

foreach(XmlNode xn in xnl){XmlElement xe=(XmlElement)xn;

if(xeGetAttribute("name")=="发明"){//xeRemoveAttribute("name");//删除name属性

xeRemoveAll();//删除该节点的全部内容break;}}xmlDocSave(ServerMapPath("userxml"));//保存}private void showIt(){LoadXml();XmlNode xn=xmlDocSelectSingleNode("user");

XmlNodeList xnl=xnChildNodes;

foreach(XmlNode xnf in xnl){XmlElement xe=(XmlElement)xnf;

// ConsoleWriteLine(xeGetAttribute("name"));//显示属性值

// foreach(XmlNode xn2 in xnf1)// {// ConsoleWriteLine(xn2InnerText);//显示子节点点文本// }}

先把子节点新建一个类。

如:

@XmlRootElement  

public class URI {  

  

    private String url;  

    private String mimetype;  

  

    @XmlValue  

    public String getUrl() {  

        return "<![CDATA[" + url+ "]]>";  

    }  

  

    public void setUrl(String url) {  

        thisurl = url;  

    }  

  

    @XmlAttribute  

    public String getMimetype() {  

        return mimetype;  

    }  

  

    public void setMimetype(String mimetype) {  

        thismimetype = mimetype;  

    }  

      

      

}<pre name="code" class="java">这样用这个类型生成的子节点都有<pre name="code" class="java">mimetype属性</pre></pre><br>

XmlDocument xmlDoc=new XmlDocument ();

xmlDocload("aaaxml");

XmlNodeList xnl=xmlDocselectNodes("//a/abc[@id=88]");

foreach(XmlNode xn in xnl)

{

xmlDocdocumentElementremoveChild(xn)

}

messageBox(xmlDocinnerXml);

先找出要删除的集合,再循环的移除。最后的xmlDoc是你想要的

不知道是不是这个意思。

1JS方法:

<script>windowonload=function(){

var va = documentgetElementById("d1")childNodes;

for(var i=0;i<valength;i++){

if(va[i]nodeNametoLocaleUpperCase() == "A"){

alert("JS: "+va[i]attributes["linkId"]nodeValue);

}

}

};

</script>

2 Jquery方法:

<script src="jquery-191minjs" type="text/javascript"></script>

<script>

$(document)ready(function(){

$("#d1 a")each(function(){

alert("Jquery: "+$(this)attr("linkId"));

});

});

</script>

JS 获取HTML标签内的子节点的方法

子节点的个数:

documentgetElementById("id")childNodeslength  

注意: 标签开/闭合算2个节点 第几个子几点:

documentgetElementById("id")childNodes[n]  

示例:

这里是 length-4 处,margin-left:20px

输出:length=8

实例:

<div id="page_kx" style="text-align: center;" class="tac">    <span class="fy2">1</span>  <a href="#">2</a>  <a href="#">3</a>  <a href="#">4</a>  <a href="#">5</a>  <a href="#">下一页</a>  <a href="#">末页</a>  </div>    <script>  var gor=documentgetElementById("page_kx");  var gorL=Number(gorchildNodeslength)-4;  gorchildNodes[gorL]stylemargin="0 0 0 20px";  </script>  

以上就是关于php怎么获取XML节点属性值全部的内容,包括:php怎么获取XML节点属性值、如何读取xml节点中的属性、jaxb怎么读取 节点值和属性值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10172189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存