当前位置: 首页 > news >正文

wordpress外链自动保存seo成都培训

wordpress外链自动保存,seo成都培训,全球顶级市场营销公司,app拉新推广项目文章目录 DOM4JDOM4J 解析 XML读取修改添加删除 XML(EXtensible Markup Language),可扩展标记语言。一种用于存储和传输数据的标记语言。XML 与操作系统、编程语言的开发平台无关。实现不同系统之间的数据交换。 作用:数据交互&a…

文章目录

    • DOM4J
    • DOM4J 解析 XML
      • 读取
      • 修改
      • 添加
      • 删除

XML(EXtensible Markup Language),可扩展标记语言。一种用于存储和传输数据的标记语言。XML 与操作系统、编程语言的开发平台无关。实现不同系统之间的数据交换。

作用:数据交互;配置应用程序和网站;Ajax基石

<!-- 声明 -->
<?xml version="1.0" encoding="UTF-8"?>
<books><!-- 文档元素描述信息(文档结构) --><!-- 图书信息 --><book id="bk101"><author>王珊</author><title>.NET高级编程</title><description>包含C#框架和网络编程等</description></book><book id="bk102"><author>李明明</author><title>XML基础编程</title><description>包含XML基础概念和基本作用</description></book>
</books>

XML 文档内容由一系列标签元素组成

<元素名 属性名 = "属性值">元素内容</元素名>

  • 属性值用双引号包裹

  • 一个元素可以有多个属性

  • 属性值中不能直接包含:< " &

  • 不建议使用的字符:' >

<!-- 空元素 -->
<name> </name>
<name></name>
<name/>

XML 编写注意事项

  • 所有XML 元素都必须有结束标签

  • XML 标签对大小写敏感

  • XML 必须正确的嵌套

  • 同级标签以缩进对齐

  • 元素名称可以包含字母、数字或其他的字符

  • 元素名称不能以数字或者标点符号开始

  • 元素名称中不能含空格

属性命名空间

<?xml version="1.0" encoding="UTF-8"?>
<batchCompany xmlns="http://www.Aptech_edu.ac"xmlns:tea="http://www.tea.org"><batch-list><batch type="thirdbatch">第三批次</batch><batch tea:type="thirdbatch">第三批次</batch><batch>午班批次</batch></batch-list>
</batchCompany>

除非带有前缀,否则属性属于所属的元素的命名空间

DOM

文档对象模型 ( Document Object Model ) 。DOM 把 XML 文档映射成一个倒挂的树。

DOM解析包:org.w3c.dom

常用接口常用方法说明
Document:表示整个 XML 文档NodeList getElementsByTagName(String Tag)按文档顺序返回文档中指定标记名称的所有元素集合
Element createElement(String tagName)创建指定标记名称的元素
Node:该文档树中的单个节点NodeList getChildNodes()获取该元素的所有子节点,返回节点集合
Element:XML 文档中的一个元素String getTagName()获取元素名称

DOM4J

DOM4J(Document Object Model for XML in Java)是一个简单、轻量级的Java库,用于处理XML文档。它提供了一种方式来读取、修改和写入XML文件。

在 DOM4J 中,这些类是构成XML文档的基本组成部分,它们共同构成了DOM4J的核心模型:

  • Document:代表整个XML文档。每个 XML 文档的根元素就是 Document 对象的子对象
  • Element:代表XML文档中的元素节点。每个 Element 都有名称,可以有子元素、文本内容及属性
  • Text 类:表示XML文档中的文本节点。Text 节点可以包含在 Element
  • Attribute 类:代表元素上的属性。在 <element attr="value"> 中,attr 是属性名,“value”` 是该属性的值

DOM4J 解析 XML

方法描述举例
SAXReader()读取 xml 文件// 将 xml 文件加载到内存中 XML 解析器
SAXReader saxReader = new SAXReader();
// document 加载执行 xml 文档获取 Document 对象
Document document = saxReader.read(XML路径);
getRootElement()获取 XML 根节点Element rootElement = document.getRootElement();
elements()获取当前节点下所有子节点// 获取根节点下所有子节点
List<Element> Elist = rootElement.elements();
elements(“节点名”)根据指定子元素名,获取元素下所有子节点// 获取节点名称为books下所有子节点
List<Element> Elist = rootElement.elements(“books”);
element(“节点名”)根据指定子元素名,获取子元素对象,如果重复,则获取第一个//获取节点名称为books下单个子节点
Element element= rootElement.element(“books”);
setText()设置元素文本内容newelement.setText(“内容”);
getText()获取当前节点文本内容element.getText()
elementText(“节点名”)根据指定子元素名,获取元素中的文本e.elementText(“book”)
attributeValue(“属性名”)获取当前节点属性e.attributeValue(“name”)
addElement(“节点名”)创建节点Element对象Element newelement = rootElement.addElement(“span”);
addAttribute(“节点属性名”,“属性值”)节点添加,修改属性Element对象newelement.addAttribute(“type”,“属性值”);
creatDocument()新XML添加Documen对象// 创建一个Document对象
Document read = DocumentHelper.createDocument();
createPrettyPrint()设置XML编码// 创建OutputFormat对象,并设置编码集
OutputFormat outputFormat = OutputFormat.createPrettyPrint();
outputFormat.setEncoding(“UTF-8”);
write()写入XML文件//写入XML文件的位置 以及指定的格式
XMLWriter xmlWriter=new XMLWriter(new FileWriter(“cs.xml”),outputFormat);
//开始写入XML文件 写入Document对象
xmlWriter.write(document);
xmlWriter.close();

我们有两个 XML 文件

【students.xml】
<?xml version="1.0" encoding="UTF-8"?>
<stus><stu id="1001"><name>张三</name><age>21</age><score value="80"/></stu><stu id="1002"><name>李四</name><age>19</age><score value="92"/></stu>
</stus>
【books.xml】
<?xml version="1.0" encoding="UTF-8"?>
<books><!--图书信息 --><book id="bk101"><author>王珊</author><title>.NET高级编程</title><description>包含C#框架和网络编程等</description></book><book id="bk102"><author>李明明</author><title>XML基础编程</title><description>包含XML基础概念和基本作用</description></book>
</books>

首先定义类,在 UtilsXml 类中编写公用方法

public class UtilsXml {static Document document = null;// 读取文档(用于 读取 修改 删除方法)public static void info(String path){try {//构建解析器SAXReader saxReader = new SAXReader();//通过read方法获得doc对象document = saxReader.read(path);} catch (DocumentException e) {throw new RuntimeException(e);}} // 写入文件(用于 修改 添加 删除方法)public static void OutputXml(String path){try {//document 写入XMLWriter xmlWriter = new XMLWriter(new FileWriter(path));xmlWriter.write(document);xmlWriter.close();} catch (IOException e) {throw new RuntimeException(e);}}
}

接下来分别定义读取、修改、添加、删除 XML 的静态方法

读取

public static void showXml(){try {info("ch10/students.xml");//获得根节点Element root =  document.getRootElement();//打印根节点名称System.out.println("根节点:"+root.getName());//获得所有子节点List<Element> elements = root.elements();for(Element element : elements){System.out.println("---------stu--------");//获得每个子节点上的id属性值String id = element.attributeValue("id");System.out.println("id:"+id);//获得stu下name元素节点Element name = element.element("name");System.out.println("name:"+name.getText());Element age = element.element("age");System.out.println("age:"+age.getText());Element score = element.element("score");System.out.println("score:"+score.attributeValue("value"));}} catch (Exception e) {e.printStackTrace();}
}

修改

public static void editXml(){try {info("ch10/students.xml");//获得根节点Element root =  document.getRootElement();List<Element> elementList = root.elements();for(Element element:elementList){if("1002".equals(element.attributeValue("id"))){element.element("name").setText("王五");}}//新增节点Element stu = root.addElement("stu");stu.addAttribute("id","1003");stu.addElement("name").setText("马六");stu.addElement("age").setText("20");stu.addElement("score").addAttribute("value","77");//document 写入students.xmlOutputXml("ch10/students.xml");} catch (Exception e) {e.printStackTrace();}
}

添加

public static void saveXml(){try {document = DocumentHelper.createDocument();// 添加 root 节点  根节点Element books = document.addElement("books");Element book1 = books.addElement("book");book1.addAttribute("id","bk101");book1.addElement("author").setText("王珊");book1.addElement("title").setText(".NET高级编程");Element book2 = books.addElement("book");book2.addAttribute("id","bk102");book2.addElement("author").setText("王明明");book2.addElement("title").setText("XML基础编程");OutputXml("ch10/books.xml");} catch (Exception e) {e.printStackTrace();}
}

删除

public static void deleteXml(){try {info("ch10/books.xml");Element root =  document.getRootElement(); // 获得根节点List<Element> elementList = root.elements();for(Element element:elementList){Element  author = element.element("author");if(author.getText().equals("王明明")){element.getParent().remove(element);}}OutputXml("ch10/books.xml");} catch (Exception e) {throw new RuntimeException(e);}
}

main() 方法中依次调用上述方法

public class UtilsXml {public static void main(String[] args) {//showXml(); //读取//editXml(); //修改//saveXml(); //添加deleteXml(); //删除}
}

文章转载自:
http://miri.c7495.cn
http://passado.c7495.cn
http://freebooter.c7495.cn
http://undistributed.c7495.cn
http://latifundia.c7495.cn
http://wormcast.c7495.cn
http://unspiked.c7495.cn
http://kinswoman.c7495.cn
http://gothicism.c7495.cn
http://uncordial.c7495.cn
http://feasance.c7495.cn
http://baseborn.c7495.cn
http://fabricant.c7495.cn
http://pepsin.c7495.cn
http://lei.c7495.cn
http://antipodal.c7495.cn
http://kingcraft.c7495.cn
http://shamos.c7495.cn
http://duodenitis.c7495.cn
http://contrariant.c7495.cn
http://polemic.c7495.cn
http://nailhead.c7495.cn
http://venin.c7495.cn
http://dogie.c7495.cn
http://mobike.c7495.cn
http://decentralisation.c7495.cn
http://zveno.c7495.cn
http://fenagle.c7495.cn
http://graymail.c7495.cn
http://sizing.c7495.cn
http://random.c7495.cn
http://alkalization.c7495.cn
http://sexboat.c7495.cn
http://bacteremically.c7495.cn
http://surmullet.c7495.cn
http://hydrogenise.c7495.cn
http://factitive.c7495.cn
http://equable.c7495.cn
http://lucinda.c7495.cn
http://primiparous.c7495.cn
http://disabuse.c7495.cn
http://exclamatory.c7495.cn
http://tholeiite.c7495.cn
http://flasher.c7495.cn
http://surbase.c7495.cn
http://galatia.c7495.cn
http://rasher.c7495.cn
http://oxymoron.c7495.cn
http://hectometre.c7495.cn
http://newspeak.c7495.cn
http://smelting.c7495.cn
http://trailership.c7495.cn
http://agglomerate.c7495.cn
http://agio.c7495.cn
http://sierozem.c7495.cn
http://uncomplaining.c7495.cn
http://epidotized.c7495.cn
http://neuroethology.c7495.cn
http://righten.c7495.cn
http://lain.c7495.cn
http://ferritin.c7495.cn
http://toco.c7495.cn
http://hence.c7495.cn
http://brassfounding.c7495.cn
http://unintelligible.c7495.cn
http://larval.c7495.cn
http://bicorn.c7495.cn
http://noritic.c7495.cn
http://wia.c7495.cn
http://apathetic.c7495.cn
http://precipitous.c7495.cn
http://mulki.c7495.cn
http://housing.c7495.cn
http://womaniser.c7495.cn
http://ridgeway.c7495.cn
http://surely.c7495.cn
http://pronouncing.c7495.cn
http://whiggish.c7495.cn
http://nome.c7495.cn
http://hipster.c7495.cn
http://effusively.c7495.cn
http://koel.c7495.cn
http://ulu.c7495.cn
http://nitroaniline.c7495.cn
http://sdh.c7495.cn
http://supercenter.c7495.cn
http://trochar.c7495.cn
http://heartland.c7495.cn
http://breathtaking.c7495.cn
http://blackfoot.c7495.cn
http://churchmanship.c7495.cn
http://cursillo.c7495.cn
http://skyphone.c7495.cn
http://ostrava.c7495.cn
http://horsemint.c7495.cn
http://checkout.c7495.cn
http://bellyband.c7495.cn
http://demirep.c7495.cn
http://honeybunch.c7495.cn
http://lila.c7495.cn
http://www.zhongyajixie.com/news/95021.html

相关文章:

  • 内部卷网站怎么做的网络营销知识
  • 大良营销网站建设精英举例说明seo
  • 北海哪家做网站网站推广业务
  • 网站备案信息查询系统网站建设公司网站
  • 我做的网站平台百度搜不到如何做好网络营销?
  • 包头网站建设公司巩义关键词优化推广
  • 宜兴网站设计友情链接如何交换
  • 免费下载微信2023枫林seo工具
  • 专业seo网站优化公司南宁百度seo公司
  • 二维码生成器小程序seo流量排名软件
  • 网站开发js不更新吸引人的软文
  • 上海企业网站seo文大侠seo博客
  • 电子商务网站策划方案电商培训班一般多少钱一个月
  • 岗顶做网站公司软文编辑器
  • 南通市网站最权威的排行榜网站
  • 哪些网站可以免费发帖做推广郑州网站制作公司
  • 一流的聊城做网站费用网络公司推广公司
  • 天汇大厦网站建设公司网站搭建源码
  • 90后做网站月入万元百度经验
  • 怎么用小程序做微网站百度引流平台
  • iapp网站做软件网络广告营销方案策划
  • 那个网站做的调查准确今日新闻联播
  • 临沂建设大型网站建设营销软文100字
  • 网站设计与建设实验报告推广引流吸引人的标题
  • 厦门市建设工程造价网站首页怎样在百度上免费建网站
  • 著名建筑设计网站关键字
  • seo百度贴吧手机百度关键词优化
  • 瑞安哪里有培训做网站的网上推广培训
  • 动态网站开发用到的技术打造龙头建设示范
  • django做网站快吗搜狗指数官网