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

网站怎么做seo、上海微网站开发

网站怎么做seo、,上海微网站开发,wordpress翻译配置,怎么进入微信官方网站使用 XSLT 格式化 XML 在平常工作中经常遇到要求对 XML 进行格式化的情况#xff0c; XSLT相比较于写纯java代码操作 org.w3c.dom.Document 更加方便#xff0c;利于维护。 下面会用一个java例子来介绍XSLT的基本用法。 场景 原始的XML ?xml version1.0…使用 XSLT 格式化 XML 在平常工作中经常遇到要求对 XML 进行格式化的情况 XSLT相比较于写纯java代码操作 org.w3c.dom.Document 更加方便利于维护。 下面会用一个java例子来介绍XSLT的基本用法。 场景 原始的XML ?xml version1.0 encodingUTF-8? ?xml version1.0 encodingUTF-8? schoolstudentsstudentnameLucy/namegenderFemale/gender/studentstudentnameLily/namegenderFemale/gender/studentstudentnameTom/namegenderMale/gender/student/students /school 想要把所有的女性选出来 放入下面的xml结构中 ?xml version1.0 encodingUTF-8? cityMallstorenameLucy/namenameLily/name/store /cityMall 怎么用XSLT 实现这种转化呢。 如下 XSLT - formater.xml xsl:stylesheet version1.0xmlns:xslhttp://www.w3.org/1999/XSL/Transformxsl:output methodxml omit-xml-declarationyesencodingUTF-8 indentyes /!-- GLOBAL VARIABLES --xsl:variable nametarget select/school/students /!-- transform template --xsl:template match/cityMallstorexsl:for-each select$target/studentxsl:if test(boolean(gender Female))xsl:copy-of selectname/xsl:copy-of/xsl:if/xsl:for-each/store/cityMall/xsl:template /xsl:stylesheet 遍历所有的 student element 发现geneder为Female时选择它。 怎么使用JAVA 调用它呢。 Formater.java import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.apache.commons.io.output.ByteArrayOutputStream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import org.xml.sax.SAXException; import com.ericsson.dve.jdv.m2m.core.util.M2MTransformerFactory;public class Formater {private static final Logger LOGGER LoggerFactory.getLogger(M2MTransformerFactory.class);public static void main(String[] args) {Formater formater new Formater();try {Document document formater.getSrcDocument(test/META-INF/source.xml);Document transformedResponse formater.transformDoc(document);System.out.println(formater.xml2Str(transformedResponse));} catch (Exception e) {LOGGER.error(Exception, e);}}private Document getSrcDocument(String srcFilePath) throws SAXException, IOException, ParserConfigurationException {Document document null;File srcDocFile new File(test/META-INF/source.xml);DocumentBuilderFactory factory DocumentBuilderFactory.newInstance();DocumentBuilder builder;builder factory.newDocumentBuilder();document builder.parse(srcDocFile);return document;}private Document transformDoc(Document srcDoc) throws TransformerConfigurationException, TransformerException {DOMResult tResult new DOMResult();M2MTransformerFactory.getTransformer(/META-INF/xslt/NewFile2.xml).transform(new DOMSource(srcDoc), tResult);Document transformedResponse (Document) tResult.getNode();return transformedResponse;}private String xml2Str(Document document) throws TransformerException {TransformerFactory factory TransformerFactory.newInstance();Transformer transformer factory.newTransformer();ByteArrayOutputStream byteArrayOutputStream new ByteArrayOutputStream();transformer.transform(new DOMSource(document), new StreamResult(byteArrayOutputStream));return byteArrayOutputStream.toString();} } TransformerFactory.java import java.io.InputStream; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.URIResolver; import javax.xml.transform.stream.StreamSource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TransformerFactory {private static final Logger LOGGER LoggerFactory.getLogger(TransformerFactory.class);private static javax.xml.transform.TransformerFactory factory;private static Transformer transformer null;static {factory javax.xml.transform.TransformerFactory.newInstance();factory.setURIResolver(new XsltURIResolver());}private TransformerFactory() {}/*** Creates Transformer from the file passed as argument.**/public static Transformer getTransformer(String xsltFileName) throws TransformerConfigurationException {if (xsltFileName null || xsltFileName.isEmpty()) {throw new IllegalArgumentException(xslFileName argument must not be null);}try {if (transformer null) {return factory.newTransformer(new StreamSource(TransformerFactory.class.getResourceAsStream(xsltFileName)));}return transformer;} catch (TransformerConfigurationException e) {LOGGER.error(Error creating xsl Transformer for file: {}, xsltFileName);throw e;}}/*** Transformer factory URI resolver**/static class XsltURIResolver implements URIResolver {public Source resolve(String href, String base) throws TransformerException {InputStream is TransformerFactory.class.getResourceAsStream(/META-INF/xslt/ href);if (is null) {throw new TransformerException(Transformation file href not found);}return new StreamSource(is);}} } Note: formater.xml 应该放在Transformer.java 的相对路径 /META-INF/xslt/ 下面 之后如果需要不同格式的document都可以直接修改formater.xml 来完成。 不仅直观后续维护也更加方便。 XSLT 其他用法 chose, when ,otherwise. 进行逻辑判断。 xsl:choosexsl:when testResultDataxsl:copy-of selectResultData/*/xsl:copy-of/xsl:whenxsl:otherwisexsl:copy-of select*/xsl:copy-of/xsl:otherwise /xsl:choose xls:if xsl:element 动态的生成xml的element. xsl:if testnot(boolean(/school/student/name ))xsl:element namenew_namexsl:value-of select/school/student/name/xsl:value-of/xsl:element /xsl:if 优点XSLT 还有很多其他用法方便xml的处理。特别适合于业务逻辑复杂的转换 劣势t比单纯的java 处理 org.w3c.dom.Document 处理速度慢。 但我并没有进行大量实验就行分析对比。只是在使用过程中发现 performance略有不足。
http://www.hkea.cn/news/14350821/

相关文章:

  • 团购网站开发一台云服务器可以做多少个网站
  • 南昌网站建设过程学ui设计适合什么样的人
  • 宁波做网站公司哪家好东莞网页设计报价
  • 抽奖网站怎么做的用 可以做网站软件吗
  • 银行网站开发网站建设在开封找谁做
  • 一家专门做海报的网站深圳工程造价信息网官网
  • 北京网站建设策划什么叫高端网站定制
  • 网站模板之家免费模板山东春季高考网站建设
  • 网络营销网站平台有哪些抖音怎么推广引流
  • 做百度网站费用多少有经验的佛山网站建设
  • 网站运营推广怎么做网站制作难点
  • 四大门户网站是哪些水贝做网站公司
  • 企业营销网站有哪些太白 网站建设
  • 沧州网站建设推广wordpress nginx 302
  • 宝山北京网站建设海底捞口碑营销案例
  • 做网站建设价格dede 网站地图 模块
  • 昆明有哪些帮忙做网站的公司移动互联网的应用论文
  • 长沙电子商务公司网站制作贵州中小型营销型网站建设公司
  • qq刷赞网站怎么做公司如何建站
  • 公司网站界面设计建一个区域网站需要多少资金
  • 上海尚海整装官方网站百度搜索量怎么查
  • 黄埔做网站的公网站建设模板免费下载
  • 鲜花店的网站建设网站建设分前端和后台吗
  • 企业网站哪家公司好网站怎么做电子合同
  • 做sgs认证的公司网站番禺高端网站制作
  • 有什么平台可以做网站网站搜不出来怎么办
  • 网站的功能需求30秒短视频制作报价明细
  • 安阳实力网站建设首选优化企业网站标题
  • 怎么查看网站是asp还是php长沙网站建设长沙
  • 移动互联网 网站建设重庆永川网站建设