• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

作業部屋の使い方を試しています。


Commit MetaInfo

Revision70 (tree)
Time2014-08-09 19:46:59
Authortuna_p

Log Message

(empty log message)

Change Summary

Incremental Difference

--- trunk/HtmlTest2/src/Form/SearchDataRW.java (revision 69)
+++ trunk/HtmlTest2/src/Form/SearchDataRW.java (revision 70)
@@ -27,11 +27,29 @@
2727 import java.io.BufferedWriter;
2828 import java.io.File;
2929 import java.io.FileInputStream;
30+import java.io.FileNotFoundException;
3031 import java.io.FileOutputStream;
3132 import java.io.IOException;
3233 import java.io.InputStreamReader;
3334 import java.io.OutputStreamWriter;
3435 import java.util.ArrayList;
36+import java.util.logging.Level;
37+import java.util.logging.Logger;
38+import javax.xml.parsers.DocumentBuilder;
39+import javax.xml.parsers.DocumentBuilderFactory;
40+import javax.xml.parsers.ParserConfigurationException;
41+import javax.xml.transform.Transformer;
42+import javax.xml.transform.TransformerConfigurationException;
43+import javax.xml.transform.TransformerException;
44+import javax.xml.transform.TransformerFactory;
45+import javax.xml.transform.dom.DOMSource;
46+import javax.xml.transform.stream.StreamResult;
47+import org.w3c.dom.DOMImplementation;
48+import org.w3c.dom.Document;
49+import org.w3c.dom.Element;
50+import org.w3c.dom.Node;
51+import org.w3c.dom.NodeList;
52+import org.xml.sax.SAXException;
3553
3654 /**
3755 *
@@ -134,4 +152,126 @@
134152
135153 }
136154
155+ public void xmlSave(File file) {
156+ try {
157+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
158+ DocumentBuilder builder = factory.newDocumentBuilder();
159+ DOMImplementation domImpl = builder.getDOMImplementation();
160+
161+ Document document = domImpl.createDocument("","searchdata",null);
162+ Element root = document.getDocumentElement();
163+
164+ // URL
165+ Element url = document.createElement("url");
166+ url.appendChild(document.createTextNode(UrlAdress));
167+ root.appendChild(url);
168+
169+ // 検索情報
170+ for (Object slist1 : slist) {
171+ SearchData sdat = (SearchData) slist1;
172+
173+ Element cslist = document.createElement("searchlist");
174+ Element item = document.createElement("item");
175+ Element htmltag = document.createElement("htmltag");
176+ Element htmlid = document.createElement("htmlid");
177+ Element htmlclass = document.createElement("htmlclass");
178+ Element around = document.createElement("around");
179+ Element regexp = document.createElement("regexp");
180+
181+ item.appendChild(document.createTextNode(sdat.getitem()));
182+ htmltag.appendChild(document.createTextNode(sdat.getHtmltag()));
183+ htmlid.appendChild(document.createTextNode(sdat.getHtmlid()));
184+ htmlclass.appendChild(document.createTextNode(sdat.getHtmlclass()));
185+ around.appendChild(document.createTextNode(sdat.getaround()));
186+ regexp.appendChild(document.createTextNode(sdat.getregexp()));
187+
188+ cslist.appendChild(item);
189+ cslist.appendChild(htmltag);
190+ cslist.appendChild(htmlid);
191+ cslist.appendChild(htmlclass);
192+ cslist.appendChild(around);
193+ cslist.appendChild(regexp);
194+
195+ root.appendChild(cslist);
196+ }
197+ // 出力
198+ TransformerFactory transFactory = TransformerFactory.newInstance();
199+ Transformer transformer = transFactory.newTransformer();
200+
201+ DOMSource source = new DOMSource(document);
202+ FileOutputStream os = new FileOutputStream(file);
203+ StreamResult result = new StreamResult(os);
204+ transformer.transform(source, result);
205+
206+ } catch (ParserConfigurationException | FileNotFoundException ex) {
207+ Logger.getLogger(SearchDataRW.class.getName()).log(Level.SEVERE, null, ex);
208+ } catch (TransformerConfigurationException ex) {
209+ Logger.getLogger(SearchDataRW.class.getName()).log(Level.SEVERE, null, ex);
210+ } catch (TransformerException ex) {
211+ Logger.getLogger(SearchDataRW.class.getName()).log(Level.SEVERE, null, ex);
212+ }
213+ }
214+
215+ public void xmlLoad(File file) {
216+ slist = new ArrayList();
217+
218+ try {
219+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
220+ DocumentBuilder builder = factory.newDocumentBuilder();
221+ Document doc = builder.parse(file);
222+
223+ // ルート要素の取得
224+ Element root = doc.getDocumentElement();
225+
226+ // URL
227+ NodeList url = root.getElementsByTagName("url");
228+ Node urlnode = url.item(0);
229+ UrlAdress = urlnode.getFirstChild().getNodeValue();
230+
231+ // 検索情報
232+ NodeList cslist = root.getElementsByTagName("searchlist");
233+ for(int i = 0; i < cslist.getLength(); i++) {
234+ SearchData sdat = new SearchData();
235+
236+ Node slistnode = cslist.item(i);
237+ Node child;
238+ for (child = slistnode.getFirstChild(); child != null; child = child.getNextSibling()) {
239+ if(child.getNodeType() == Node.ELEMENT_NODE) {
240+ String tag = child.getNodeName();
241+
242+ String rtn = "";
243+ if(child.getFirstChild() != null) {
244+ rtn = child.getFirstChild().getNodeValue();
245+ }
246+
247+ switch (tag) {
248+ case "item":
249+ sdat.setitem(rtn);
250+ break;
251+ case "htmltag":
252+ sdat.setHtmltag(rtn);
253+ break;
254+ case "htmlid":
255+ sdat.setHtmlid(rtn);
256+ break;
257+ case "htmlclass":
258+ sdat.setHtmlclass(rtn);
259+ break;
260+ case "around":
261+ sdat.setaround(rtn);
262+ break;
263+ case "regexp":
264+ sdat.setregexp(rtn);
265+ break;
266+ }
267+ }
268+ }
269+ slist.add(sdat);
270+ }
271+
272+ } catch (ParserConfigurationException | SAXException | IOException ex) {
273+ Logger.getLogger(SearchDataRW.class.getName()).log(Level.SEVERE, null, ex);
274+ }
275+ }
276+
137277 }