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

嘉兴市做网站优化怎样建立自己的销售网站

嘉兴市做网站优化,怎样建立自己的销售网站,免费营销型wordpress模板下载,湖南seo优化按天付费使用 groovy.util.XmlParser 解析 xml 文件#xff0c;对文件进行修改#xff08;新增标签#xff09;#xff0c;然后保存。 是不是 XmlParser 没有提供方法遍历每个节点#xff0c;难道要自己写#xff1f; 什么是递归#xff1f; 不用说#xff0c;想必都懂得~ … 使用 groovy.util.XmlParser 解析 xml 文件对文件进行修改新增标签然后保存。 是不是 XmlParser 没有提供方法遍历每个节点难道要自己写 什么是递归 不用说想必都懂得~ import ***.XmlNodeCallback; import ***.PluginLog;import org.xml.sax.SAXException;import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.StandardOpenOption; import java.util.List;import javax.xml.parsers.ParserConfigurationException;import groovy.util.Node; import groovy.util.XmlParser; import groovy.xml.XmlUtil;public class PluginXmlUtil {/*** * param xmlFile 需要解析的 xml 文件* param callback 回调每一个标签 node可以对 node 进行 CURD* return*/public static Node parseXml(File xmlFile, XmlNodeCallback callback) {if (CommUtils.isEmptyOrNoExists(xmlFile)) {return null;}try {Node rootNode new XmlParser().parse(xmlFile);traverseNode(rootNode, callback);return rootNode;} catch (IOException e) {} catch (SAXException e) {} catch (ParserConfigurationException e) {}return null;}/*** * param node 需要保存的往往是根节点 node当然保存你想要的任意节点也是可以* param targetFile 保存文件* return*/public static boolean saveNodeToFile(Node node, File targetFile) {if (node null || targetFile null) {return false;}try {// 使用 groovy 提供的 xml 序列化工具获得原始字符串String finalContent XmlUtil.serialize(node);if (CommUtils.isEmptyOrNoExists(finalContent)) {return false;}// 使用 TRUNCATE_EXISTING如果文件存在那么截取长度为0也就是覆盖文件内容然后写入新内容Files.write(targetFile.toPath(), finalContent.getBytes(), StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);return true;} catch (IOException e) {}return false;}/*** 递归会写吧~* * param rootNode 根节点* param callback 把每个 node 回调返回给外部在回调中可操作 node 等*/private static void traverseNode(Node node, XmlNodeCallback callback) {if (node null) {return;}if (callback ! null) {callback.onNode(node);}ListObject children node.children();boolean hasChildren children ! null !children.isEmpty();if (hasChildren) {for (Object child : children) {// 仅遍历 node 类型因为 children 可存在 String 等调用递归就不合适了// 比如存在 namelf/name其中值 lf 也是作为 children 的一个元素// 目前不对他进行递归如果需要回调给外部也可以在 XmlNodeCallback 新增一个接口通过 callback 回调数据 if (child instanceof Node) {traverseNode((Node) child, callback);} else {PluginLog.d(traverseNode: child.getClass() val: child);}}}} }使用接口回调每一个递归遍历到的 node在回调中处理逻辑 public interface XmlNodeCallback {void onNode(Node node); }直接使用 File xmlFile new File(****)def rootNode PluginXmlUtil.parseXml(xmlFile, new XmlNodeCallback() {Overridevoid onNode(Node node) {if (node null) {return}String nodeName node.name()String[] nodeAttr node.attributes()if (CommUtils.isEmptyOrNoExists(nodeName)) {return}PluginLog.d(nodeName: nodeName nodeAttr: nodeAttr value: node.value)// TODO: 2024/1/10 处理你的逻辑}})// 比如我要在跟节点下面添加一个标签rootNode.append(ArgUtil.genDefaultBaseConfigNode())//然后保存修改def saveSuccess PluginXmlUtil.saveNodeToFile(rootNode, xmlFile)默认配置 package ***.utils;import org.xml.sax.SAXException;import java.io.IOException;import javax.xml.parsers.ParserConfigurationException;import groovy.util.Node; import groovy.util.XmlParser;public class ArgUtil {public static Node genDefaultBaseConfigNode() throws ParserConfigurationException, SAXException, IOException {return new XmlParser().parseText(base-config cleartextTrafficPermitted\true\\n trust-anchors\n certificates src\user\ /\n certificates src\system\ /\n /trust-anchors\n /base-config);}public static Node genDefaultTrustAnchorsNode() throws ParserConfigurationException, SAXException, IOException {return new XmlParser().parseText(trust-anchors\n certificates src\user\ /\n certificates src\system\ /\n /trust-anchors);}public static Node genDefaultCertificatesNode(String value) throws ParserConfigurationException, SAXException, IOException {return new XmlParser().parseText(certificates src value /);} }学会了新增删除、修改都不是问题吧~
http://www.pierceye.com/news/984261/

相关文章:

  • 新手自己做网站凡科网建设网站如何修改源代码
  • 做自媒体发视频用哪些网站贵州网站建设联系电话
  • 可以提供排版的网站友情链接怎么弄
  • 优秀网站建设空间海口 网站建设
  • 设计网站页面出现问题九江哪家网站建设公司好
  • 深圳做企业网站的公司成都公司展厅
  • 两学一做 网站t型布局网站怎么做
  • 论坛网站建设联系方式成都网站设计制作价格
  • 网页网站建设的ppt模板下载响应式网站项目
  • 做网站在哪里可以找到高清壁纸北京响应式网站
  • 企业网站建设门户网站建设费的摊销年限
  • 模板网站的域名是什么网站源代码程序
  • 网站空间多久续一次费长春网站制作设计
  • 网站制作价格低广西网络电视
  • 平台网站建设收费烟台网站的优化
  • 如何做提卡网站vue.js wordpress
  • 国家网站备案查询系统wordpress 主题 简洁
  • 建设商业网站html什么意思
  • 网站专题建设方案江苏省建设厅网站 杨洪海
  • 通化网站建设公司南江县住房和城乡建设局网站
  • 网站的外链是什么软件开发与网站开发的区别
  • 学做网站论坛vip账户了解网站开发的背景
  • 做3个网站需要多大的服务器科凡建站
  • 网站设计制作音乐排行榜44555pd永久四色端口
  • 网站优化方案教程如何注册chn域名网站
  • 怎样建设免费网站个别网站网速慢怎么做
  • 网页设计制作音乐排行榜一键seo提交收录
  • 网站推广要我营业执照复印件conoha wordpress
  • 免费行情软件app网站排行高质量外链网站
  • 免费解析网站制作网站开发项目实战视频