最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

解決xml縮進(jìn)和添加第二本書(shū)的問(wèn)題 (問(wèn)題已解決)

package?imooc.dmtest;

import?java.io.File;
import?java.io.IOException;

import?javax.lang.model.element.Element;
import?javax.swing.text.Document;
import?javax.xml.parsers.DocumentBuilder;
import?javax.xml.parsers.DocumentBuilderFactory;
import?javax.xml.parsers.ParserConfigurationException;
import?javax.xml.transform.OutputKeys;
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.DOMSource;
import?javax.xml.transform.stream.StreamResult;

import?org.w3c.dom.NamedNodeMap;
import?org.w3c.dom.Node;
import?org.w3c.dom.NodeList;
import?org.xml.sax.SAXException;

public?class?DOMTest?{

	/**
	?*?創(chuàng)建一個(gè)DocumentBuilder
	?*?@return
	?*/
	public?DocumentBuilder?getDocumentBuilder()?{
		//?創(chuàng)建一個(gè)DocumentBuilderFactory的對(duì)象
		DocumentBuilderFactory?dbf?=?DocumentBuilderFactory.newInstance();
		//?創(chuàng)建DocumentBuilder對(duì)象
		DocumentBuilder?db?=?null;
		try?{
			db?=?dbf.newDocumentBuilder();
		}?catch?(ParserConfigurationException?e)?{
			e.printStackTrace();
		}
		return?db;
	}

	/**
	?*?解析XMl文件
	?*/
	public?void?xmlParser()?{

		try?{

			//?通過(guò)DocumentBuilder對(duì)象的parser方法加載book.xml文件到當(dāng)前項(xiàng)目下
			org.w3c.dom.Document?document?=?getDocumentBuilder().parse("book.xml");
			//?獲取所有book節(jié)點(diǎn)的集合
			NodeList?booklist?=?document.getElementsByTagName("book");
			//?通過(guò)nodelist的getlength()方法可以獲取booklist的長(zhǎng)度
			System.out.println("一共有"?+?booklist.getLength()?+?"本書(shū)");
			//?遍歷每一個(gè)book節(jié)點(diǎn)
			for?(int?i?=?0;?i?<?booklist.getLength();?i++)?{
				System.out.println("==========================下面開(kāi)始遍歷第"?+?(i?+?1)?+?"這本書(shū)的內(nèi)容==========");
				//?通過(guò)item(i)獲取一個(gè)book節(jié)點(diǎn),Nodelist的索引值從0開(kāi)始
				Node?book?=?booklist.item(i);
				//?獲取book節(jié)點(diǎn)的所有屬性集合
				NamedNodeMap?attrs?=?book.getAttributes();
				System.out.println("第"?+?(i?+?1)?+?"本書(shū)共有"?+?attrs.getLength()?+?"個(gè)屬性");
				for?(int?j?=?0;?j?<?attrs.getLength();?j++)?{
					//?通過(guò)item(intex)方法獲取book節(jié)點(diǎn)的某一個(gè)屬性
					Node?attr?=?attrs.item(j);
					//?獲取屬性名
					System.out.print("屬性名:"?+?attr.getNodeName());
					//?獲取屬性值
					System.out.println("--屬性值"?+?attr.getNodeValue());

				}
				//?前提:已經(jīng)知道book節(jié)點(diǎn)有些只有一個(gè)id屬性
				//?講book節(jié)點(diǎn)強(qiáng)制進(jìn)行類(lèi)型轉(zhuǎn)換,轉(zhuǎn)換成Element類(lèi)型
				//?org.w3c.dom.Element?book?=?(org.w3c.dom.Element)
				//?booklist.item(i);
				//?//獲取屬性值
				//?String?attrValue?=?book.getAttribute("id");
				//?System.out.println("id屬性的屬性值為"+?attrValue);
				//?解析book節(jié)點(diǎn)的子節(jié)點(diǎn)
				NodeList?childNodes?=?book.getChildNodes();
				//?遍歷childNodes獲取每個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)名和節(jié)點(diǎn)值
				System.out.println("第"?+?(i?+?1)?+?"本書(shū)共有"?+?childNodes.getLength()?+?"個(gè)子節(jié)點(diǎn)");
				for?(int?k?=?0;?k?<?childNodes.getLength();?k++)?{
					//?區(qū)分出text類(lèi)型的node以及Element類(lèi)型的node
					if?(childNodes.item(k).getNodeType()?==?Node.ELEMENT_NODE)?{
						//?獲取了element類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)名
						System.out.print(childNodes.item(k).getNodeName()?+?":");
						//?獲取了element類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)值
						//?System.out.println(childNodes.item(k).getFirstChild().getNodeValue());
						System.out.println(childNodes.item(k).getTextContent());
					}
				}
				System.out.println("=========================結(jié)束遍歷第"?+?(i?+?1)?+?"這本書(shū)的內(nèi)容==========");
			}
		}?catch?(SAXException?e)?{
			e.printStackTrace();
		}?catch?(IOException?e)?{
			e.printStackTrace();
		}
	}

	/**
	?*?生成xml的方法
	?*/

	public?void?createXML()?{
		//?創(chuàng)建DOMTest對(duì)象
		DocumentBuilder?db?=?getDocumentBuilder();
		org.w3c.dom.Document?document?=?db.newDocument();
		document.setXmlStandalone(true);
		org.w3c.dom.Element?bookstore?=?document.createElement("bookStore");
		//?向bookstore根節(jié)點(diǎn)中添加子節(jié)點(diǎn)book
		
		org.w3c.dom.Element?book?=?document.createElement("book");
		org.w3c.dom.Element?name?=?document.createElement("name");
		org.w3c.dom.Element?author?=?document.createElement("author");
		org.w3c.dom.Element?year?=?document.createElement("year");
		org.w3c.dom.Element?price?=?document.createElement("price");
		
		org.w3c.dom.Element?language?=?document.createElement("language");
		
//		name.setNodeValue("xiaomingzi");行不通
		name.setTextContent("小王子");
		author.setTextContent("安托萬(wàn)·德·圣·??颂K佩里");
		year.setTextContent("1942");
		price.setTextContent("22");
		
		book.appendChild(name);
		book.appendChild(author);
		book.appendChild(year);
		book.appendChild(price);
		//設(shè)置book的屬性
		book.setAttribute("id",?"1");
		//?將book節(jié)點(diǎn)添加到bookstore根節(jié)點(diǎn)中
		bookstore.appendChild(book);
		
		//此處嘗試添加第二本書(shū),之前由于變量名重復(fù)造成失敗,現(xiàn)在改變量名之后成功添加第二本書(shū)
		org.w3c.dom.Element?book1?=?document.createElement("book");
		org.w3c.dom.Element?name1?=?document.createElement("name");
		org.w3c.dom.Element?author1?=?document.createElement("author");
		org.w3c.dom.Element?year1?=?document.createElement("year");
		org.w3c.dom.Element?price1?=?document.createElement("price");
		name1.setTextContent("冰與火之歌");
		author1.setTextContent("喬治馬丁");
		year1.setTextContent("2014");
		price1.setTextContent("89");
		
		book1.appendChild(name1);
		book1.appendChild(author1);
		book1.appendChild(year1);
		book1.appendChild(price1);
		book1.setAttribute("id",?"2");
		bookstore.appendChild(book1);
		
		//?將bookstores節(jié)點(diǎn)(已經(jīng)包含了book)添加到dom樹(shù)中
		document.appendChild(bookstore);

		//?創(chuàng)建TransformFactory對(duì)象
		TransformerFactory?tff?=?TransformerFactory.newInstance();
		try?{
			Transformer?tf?=?tff.newTransformer();
			//?設(shè)置換行
			tf.setOutputProperty(OutputKeys.INDENT,?"yes");
			//設(shè)置縮進(jìn)量
			tf.setOutputProperty("{http://xml.apache.org/xslt}indent-amount",?"4");
			tf.transform(new?DOMSource(document),?new?StreamResult(new?File("books1.xml")));
		}?catch?(TransformerConfigurationException?e)?{
			e.printStackTrace();
		}?catch?(TransformerException?e)?{
			e.printStackTrace();
		}

	}

	/**
	?*?主方法,程序的入口
	?*?
	?*?@param?args
	?*/
	public?static?void?main(String[]?args)?{
		//?創(chuàng)建DOMTest對(duì)象
		DOMTest?test?=?new?DOMTest();
		//?調(diào)用解析方法,解析XMl文件
		test.createXML();
	}
}


正在回答

1 回答

問(wèn)題已解決呢就沒(méi)什么看的了

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

解決xml縮進(jìn)和添加第二本書(shū)的問(wèn)題 (問(wèn)題已解決)

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)