java DOM解析XML文件,将DOM树转换为XML文件,中文部分会变成乱码,出现错误提示: “1 字节的 UTF-8 序列
将DOM树转换为XML文件,中文部分会变成乱码,代码如下:publicclassTest_Add_Info_Exercise{publicstaticvoidmain(S...
将DOM树转换为XML文件,中文部分会变成乱码,代码如下:
public class Test_Add_Info_Exercise {
public static void main(String[] args) {
try{
//1.得到 DOM 解析器 的 工厂实例
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//2.从DOM工厂获得DOM解析器
DocumentBuilder db = dbf.newDocumentBuilder();
//3.解析XML文档,得到一个Document,即Dom树
Document doc = db.parse("src/收藏信息.xml");
//创建brand节点
Element brandElement = doc.createElement("Brand");
brandElement.setAttribute("name", "华为");
//创建Type节点
Element typeElement = doc.createElement("Type");
typeElement.setAttribute("name", "U8650");
//判断 添加的 品牌 和 型号 是否已经存在
NodeList list = doc.getElementsByTagName("Brand");
boolean flag = false;
for(int i = 0 ; i < list.getLength(); i++){
Node brandNode = list.item(i);
Element element = (Element) brandNode;
String brandname = element.getAttribute("name");
System.out.println(brandname);
if (brandname==brandElement.getAttribute("name")) {
//获取brand 的子节点type
NodeList childlist = brandNode.getChildNodes();
for (int j = 0 ; j < childlist.getLength(); j++ ){
if (childlist.item(j) instanceof Element){
Element typeElemt = (Element) childlist.item(j);
String type = typeElemt.getAttribute("name");
System.out.println("手机:" + brandname+type);
if (type == typeElemt.getAttribute("name")) {
System.out.println("已存取该条手机信息,无需重复录入");
flag=true;
break; } } }
if (flag) break; } }
if (!flag){ 展开
public class Test_Add_Info_Exercise {
public static void main(String[] args) {
try{
//1.得到 DOM 解析器 的 工厂实例
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//2.从DOM工厂获得DOM解析器
DocumentBuilder db = dbf.newDocumentBuilder();
//3.解析XML文档,得到一个Document,即Dom树
Document doc = db.parse("src/收藏信息.xml");
//创建brand节点
Element brandElement = doc.createElement("Brand");
brandElement.setAttribute("name", "华为");
//创建Type节点
Element typeElement = doc.createElement("Type");
typeElement.setAttribute("name", "U8650");
//判断 添加的 品牌 和 型号 是否已经存在
NodeList list = doc.getElementsByTagName("Brand");
boolean flag = false;
for(int i = 0 ; i < list.getLength(); i++){
Node brandNode = list.item(i);
Element element = (Element) brandNode;
String brandname = element.getAttribute("name");
System.out.println(brandname);
if (brandname==brandElement.getAttribute("name")) {
//获取brand 的子节点type
NodeList childlist = brandNode.getChildNodes();
for (int j = 0 ; j < childlist.getLength(); j++ ){
if (childlist.item(j) instanceof Element){
Element typeElemt = (Element) childlist.item(j);
String type = typeElemt.getAttribute("name");
System.out.println("手机:" + brandname+type);
if (type == typeElemt.getAttribute("name")) {
System.out.println("已存取该条手机信息,无需重复录入");
flag=true;
break; } } }
if (flag) break; } }
if (!flag){ 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询