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

京东商城网站风格seo推广技巧

京东商城网站风格,seo推广技巧,做兼职调查哪个网站好,wordpress 咨询 主题场景 文件的写入目前没有发现可以增量写入的,只能是完全重新写入。对于大量数据需要写入XML文件,还是和读XML文件一样,不需要生成DOM模型能节省不少的内存和指令。 说明 在java标准库里,也是有相关的SAX类来写入数据流&#xf…

场景

  1. 文件的写入目前没有发现可以增量写入的,只能是完全重新写入。对于大量数据需要写入XML文件,还是和读XML文件一样,不需要生成DOM模型能节省不少的内存和指令。

说明

  1. java标准库里,也是有相关的SAX类来写入数据流,StreamResult(OutputStream)负责把数据写入输出流。
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;FileOutputStream fo = new FileOutputStream(file);
StreamResult streamResult = new StreamResult(fo);
  1. 之后创建一个TransformerHandler来负责绑定StreamResult并开始写入元素名称,元素值,属性值,子元素等。

  2. Handler还可以设置输出是否带缩进,输出的编码格式。

例子

  1. 这里例子是生成sitemap.xml文件,这里的SitemapMap对象。SitemapReader

SitemapWriter


import Sitemap;
import StringUtils;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import javax.xml.transform.stream.StreamResult;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.util.List;public class SitemapWriter {public boolean writeToFile(File file, List<Sitemap> sitemaps){SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();URL resource = this.getClass().getResource("/");String path = resource.getPath();boolean result = false;try(FileOutputStream fo = new FileOutputStream(file);) {TransformerHandler handler = factory.newTransformerHandler();Transformer transformer = handler.getTransformer();transformer.setOutputProperty(OutputKeys.INDENT, "yes");transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");StreamResult streamResult = new StreamResult(fo);handler.setResult(streamResult);handler.startDocument();AttributesImpl attributes = new AttributesImpl();attributes.addAttribute("","","xmlns","","http://www.sitemaps.org/schemas/sitemap/0.9");attributes.addAttribute("","","xmlns:xhtml","","http://www.w3.org/1999/xhtml");handler.startElement("", "", "urlset", attributes);attributes.clear();// urlfor (int i = 0; i < sitemaps.size(); i++) {Sitemap one = sitemaps.get(i);handler.startElement("","","url",null);handler.startElement("","","loc",null);String loc = StringUtils.nullToEmpty(one.getStr("loc"));handler.characters(loc.toCharArray(), 0, loc.length());handler.endElement("","","loc");handler.startElement("","","priority",null);String priority = StringUtils.nullToEmpty(one.getStr("priority"));handler.characters(priority.toCharArray(), 0, priority.length());handler.endElement("","","priority");handler.startElement("","","lastmod",null);String lastmod = StringUtils.nullToEmpty(one.getStr("lastmod"));handler.characters(lastmod.toCharArray(), 0, lastmod.length());handler.endElement("","","lastmod");handler.startElement("","","changefreq",null);String changefreq = StringUtils.nullToEmpty(one.getStr("changefreq"));handler.characters(changefreq.toCharArray(), 0, changefreq.length());handler.endElement("","","changefreq");handler.endElement("","","url");}handler.endElement("","","urlset");handler.endDocument();result = true;} catch (TransformerConfigurationException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();}return result;}
}

TestSitemapWriter

import Sitemap;
import SitemapReader;
import SitemapWriter;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;import javax.xml.transform.sax.SAXTransformerFactory;
import java.io.File;
import java.net.URL;
import java.util.List;@RunWith(JUnit4.class)
public class TestSitemapWriter {@Testpublic void testSitemapWriter(){SAXTransformerFactory factory = (SAXTransformerFactory) SAXTransformerFactory.newInstance();URL resource = this.getClass().getResource("/");String path = resource.getPath();File file = new File(path+"..\\..\\..\\..\\doc\\tests\\xml\\sitemap.xml");SitemapReader sr = new SitemapReader();if(sr.readAll(file)){List<Sitemap> sitemaps = sr.getSitemaps();file = new File(path+"\\sitemap.xml");SitemapWriter writer = new SitemapWriter();writer.writeToFile(file,sitemaps);}}
}

参考

  1. Java——SAX方式生成XML

  2. SAXTransformerFactory

  3. 以SAX流的方式高效读取XML大文件

http://www.hkea.cn/news/15103/

相关文章:

  • 网站建设与运营的预算方案模板免费大数据查询平台
  • google seo 营销网站小红书软文案例
  • 上海建网站方案seo教程视频论坛
  • 合肥网站设计哪家公司好百度seo权重
  • 企业网站优化是什么营销课程培训视频
  • 移动端网站怎么布局海南网站推广
  • 网站怎么开通微信支付百度app安装免费下载
  • 河北中石化建设网站在哪里找专业推广团队
  • 学广告专业我后悔了北京seo优化公司
  • 网站建设怎么谈品牌型网站制作价格
  • php网站建设案例雅虎搜索引擎首页
  • 棋牌网站建设广东短视频seo搜索哪家好
  • 做桑拿网站挣钱吗推广软件一键发送
  • 成都app开发解决方案个人seo怎么赚钱
  • 做网站前端设计需要哪些证书百度云网盘
  • 深圳网站建设 设计创公司百度产品优化排名软件
  • 有原型怎么做网站线上推广策划方案范文
  • java怎么做直播网站网站一般怎么推广
  • 衡水做网站推广的公司常见的网络推广方法
  • b2c电子商务网站源码南京seo推广优化
  • 建设企业网站的流程什么网站做推广比较好
  • 淄博网站制作定制网站怎么添加外链
  • 长沙网站关键词排名推广公司深圳网络推广哪家
  • 帮别人做设计的网站拉新推广一手接单平台
  • zencart网站模板如何做好精准营销
  • 网站建设业务客户来源百度收录网站提交入口
  • 深圳网站设计联系电话seo在哪学
  • 租电信服务器开网站bt kitty磁力猫
  • app网站开发多少钱怎么做推广让别人主动加我
  • 香港头条新闻百度seo优化包含哪几项