「删除节点java」删除节点的removeChild方法返回的是

博主:adminadmin 2023-03-22 06:27:07 825

本篇文章给大家谈谈删除节点java,以及删除节点的removeChild方法返回的是对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java HTML 删除节点

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class HTMLSpirit{

public static String delHTMLTag(String htmlStr){

String regEx_script="script[^]*?[\\s\\S]*?\\/script"; //定义script的正则表达式

String regEx_style="style[^]*?[\\s\\S]*?\\/style"; //定义style的正则表达式

String regEx_html="[^]+"; //定义HTML标签的正则表达式

Pattern p_script=Pattern.compile(regEx_script,Pattern.CASE_INSENSITIVE);

Matcher m_script=p_script.matcher(htmlStr);

htmlStr=m_script.replaceAll(""); //过滤script标签

Pattern p_style=Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE);

Matcher m_style=p_style.matcher(htmlStr);

htmlStr=m_style.replaceAll(""); //过滤style标签

Pattern p_html=Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE);

Matcher m_html=p_html.matcher(htmlStr);

htmlStr=m_html.replaceAll(""); //过滤html标签

return htmlStr.trim(); //返回文本字符串

}

}

java删除xml文件节点??

java删除xml文件节点,主要方式是先解析整个xml文件,然后根据节点的编号,进行删除,代码如下:

package test; 

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.DOMSource; 

import javax.xml.transform.stream.StreamResult; 

import org.w3c.dom.Document; 

import org.w3c.dom.Element; 

import org.w3c.dom.NodeList; 

import org.w3c.dom.Text; 

import org.xml.sax.SAXException; 

public class XmlOprate { 

Document doc; 

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 

DocumentBuilder builder; 

NodeList imags; 

String path; 

public NodeList getImags() { 

return imags; 

public void setImags(NodeList imags) { 

this.imags = imags; 

/** 

* 构造方法 

* @param path:xml文件的路径 

* @param nodes:要解析的xml节点名称 

*/ 

public XmlOprate(String path) { 

super(); 

this.path = path; 

System.out.println(System.getProperty("user.dir")); 

/** 

* 解析XML 

* @param path 

*/ 

public void readXml(){ 

try { 

builder = factory.newDocumentBuilder(); 

Document doc=builder.parse(path); 

doc.normalize(); 

NodeList imags =doc.getElementsByTagName("imags"); 

this.setImags(imags); 

for (int i=0;iimags.getLength();i++){ 

Element link=(Element) imags.item(i); 

System.out.print("title: "); 

System.out.println(link.getElementsByTagName("title").item(0).getFirstChild().getNodeValue()); 

System.out.print("URL: "); 

System.out.println(link.getElementsByTagName("url").item(0).getFirstChild().getNodeValue()); 

System.out.print("imgsrc: "); 

System.out.println(link.getElementsByTagName("imgsrc").item(0).getFirstChild().getNodeValue()); 

System.out.println(); 

}catch (ParserConfigurationException e) { 

e.printStackTrace(); 

} catch (SAXException e) { 

e.printStackTrace(); 

} catch (IOException e) { 

e.printStackTrace(); 

/** 

* delete xml code //删除某个节点

* @param path 

*/ 

public void delXmlCode(){ 

try { 

builder = factory.newDocumentBuilder(); //拿到树节点

doc=builder.parse(path); 

doc.normalize(); 

NodeList imags =doc.getElementsByTagName("imags"); //拿到某个节点的ID,接着进行删除

Element elink=(Element) imags.item(0); 

elink.removeChild(elink.getElementsByTagName("imgsrc").item(0)); 

elink.removeChild(elink.getElementsByTagName("title").item(0)); 

elink.removeChild(elink.getElementsByTagName("url").item(0)); 

doc.getFirstChild().removeChild(elink); 

TransformerFactory tFactory =TransformerFactory.newInstance(); 

Transformer transformer = tFactory.newTransformer(); 

DOMSource source = new DOMSource(doc); 

StreamResult result = new StreamResult(new java.io.File(path)); 

transformer.transform(source, result); 

} catch (ParserConfigurationException e) { 

e.printStackTrace(); 

} catch (SAXException e) { 

e.printStackTrace(); 

} catch (IOException e) { 

e.printStackTrace(); 

} catch (TransformerConfigurationException e) { 

e.printStackTrace(); 

} catch (TransformerException e) { 

e.printStackTrace(); 

}

JAVA中如何删除树中所选的节点?

//获得商品分类树形结构

private JTree getTree(){

if(tree ==null)

{

tree = new JTree(getTreeModel());

tree.setBorder(new EtchedBorder(EtchedBorder.LOWERED));

// tree = new JTable(getModel());

tree.getSelectionModel().setSelectionMode(

TreeSelectionModel.SINGLE_TREE_SELECTION);

// 节点选择事件

tree.addTreeSelectionListener(new TreeSelectionListener() {

public void valueChanged(TreeSelectionEvent e) {

treeSelection();

}

});

tree.addMouseListener(new MouseAdapter(){

public void mousePressed(MouseEvent e){

if(e.getButton()==MouseEvent.BUTTON3)

{

int selRow = tree.getRowForLocation(e.getX(), e.getY());

tree.setSelectionRow(selRow);

TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());

if(selRow != -1) {

if(e.getClickCount() == 1) {

// myRightClick(selRow, selPath);

selectedNode = (DefaultMutableTreeNode) selPath.getLastPathComponent();

showPopMenu(selRow,selPath,e.getX(),e.getY());

}

}

}

}

});

}

return tree;

}

/**

* 获得当前选择的商品对象

* @return

*

*/

private Goods getSelectedGoods(){

int row = table.getSelectedRow();

if(row!=-1)

{

String code = (String)getModel().getValueAt(row,0);

Goods g= gHandle.getGoodsByCode(code);

return g;

}

return null;

}

/**

* 树形结构上显示右键菜单

* @param selRow

* @param selPath

*

*/

private void showPopMenu(int selRow, TreePath path,int x,int y) {

// tree.add(getPopMenu());

if (path == null)

return;

//点的是根结点

if(selectedNode.isRoot())

{

JPopupMenu pop = getPopMenu(1,path,selRow);

// System.out.println(selRow);

this.getContentPane().add(pop);

pop.show(tree,x,y);

}

//叶结点

if(selectedNode.isLeaf())

{

JPopupMenu pop = getPopMenu(0,path,selRow);

this.getContentPane().add(pop);

pop.show(tree,x,y);

}

}

/**

* 创建右键菜单

* @param action

* @return

*

*/

private JPopupMenu getPopMenu(int action,final TreePath path,final int selRow){

if(pop==null)

{

pop = new JPopupMenu();

//新建类别事件处理

addItem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

String value = JOptionPane.showInputDialog("请输入新类别的名称:");

if(value==null||value.trim().length()==0)

return;

GoodsCategoryHandle gcHandle = new GoodsCategoryHandle();

if(gcHandle.isExsited(value))

{

JOptionPane.showMessageDialog(null, "该类别名称已经存在!", "提示", JOptionPane.ERROR_MESSAGE);

return ;

}

DefaultMutableTreeNode newNode =new DefaultMutableTreeNode(value);

treeModel.insertNodeInto(newNode,(MutableTreeNode)treeModel.getRoot(),selRow-1);

GoodsCategory gc = new GoodsCategory();

gc.setCategoryName(value);

//更新到数据库中

gcHandle.addCategory(gc);

}

});

//重命名类别名称事件处理

renameItem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

String value = JOptionPane.showInputDialog(null,"请输入新类别的名称:",selectedNode.toString());

if(value==null||value.trim().length()==0)

return;

GoodsCategoryHandle gcHandle = new GoodsCategoryHandle();

if(gcHandle.isExsited(value))

{

JOptionPane.showMessageDialog(null, "该类别名称已经存在!", "提示", JOptionPane.ERROR_MESSAGE);

return ;

}

GoodsCategory gc =gcHandle.getCategory(selectedNode.toString());

gc.setCategoryName(value);

//更新到数据库中

gcHandle.modifyCategory(gc);

selectedNode.setUserObject(value);

tree.setModel(getTreeModel());

}

});

//移除结点事件处理

delItem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

int i =JOptionPane.showConfirmDialog(null,

"慎重!删除类别后,该类别下的所有商品将全部被删除,确认后继续", "提示", JOptionPane.YES_NO_OPTION);

if(i==JOptionPane.YES_OPTION)

{

GoodsCategoryHandle gcHandle = new GoodsCategoryHandle();

GoodsHandle gHandle = new GoodsHandle();

int id = (gcHandle.getCategory(selectedNode.toString().trim())).getCategoryId();

ArrayList al = gHandle.getGoodsByCategory(id);

boolean b_bak = false;

//对删除商品的备分

try {

FileWriter out = new FileWriter("/"+CommonUtil.getTime()+"商品删除bak.db",true);

out.write("商品名称"+" "+"商品分类"+" "+

"商品别名"+" "+"商品单位"+" "+

"商品厂商"+" "+"商品库存上限"+" "+

"商品库存下限"+" "+

"商品库存下限"+" "+

"商品参考售价"+" "+

"商品实际库存");

out.write('\n');

for(int j=0;jal.size();j++)

{

Goods g = (Goods)al.get(j);

out.write(g.toString());

out.write('\n');

}

out.close();

b_bak=true;

} catch (IOException e1) {

e1.printStackTrace();

b_bak = false;

}

gcHandle.setCommit(false);

boolean g_del=gHandle.deleteByCategoryId(id);

boolean gc_del=gcHandle.deleteById(id);

//只有类别删除成功,该类别下的商品删除成功,并且备分成功后才提交删除

if(g_delgc_delb_bak)

gcHandle.commit();

else

{

// System.out.println("fail");

gcHandle.rollBack();

JOptionPane.showMessageDialog(null, "删除失败,可能是因为该类别下的商品存在销售记录,不能被删除!", "提示", JOptionPane.ERROR_MESSAGE);

}

tree.setModel(getTreeModel());

tree.setSelectionRow(0);

}

else

return;

}

});

pop.add(addItem);

pop.add(delItem);

pop.add(renameItem);

}

if(action ==1)

{

delItem.setEnabled(false);

renameItem.setEnabled(false);

}

if(action ==0)

{

delItem.setEnabled(true);

renameItem.setEnabled(true);

}

return pop;

}

/**

* 用户在商品分类树上的事件处理

*

*

*/

private void treeSelection(){

TreePath path = tree.getSelectionPath();

if (path == null)

return;

DefaultMutableTreeNode node = (DefaultMutableTreeNode) path

.getLastPathComponent();

selectedCategory = cHandle.getCategory(node.toString());

// 若选中的是根节点

if (node.isRoot())

showAllGoods();

if(node.isLeaf()){

model.setRowCount(0);

ArrayList al = gHandle.getGoodsByCategoryName(node

.toString());

for (int i = 0; i al.size(); i++) {

Goods g = (Goods) al.get(i);

model.addRow(getRow(g));

}

}

}

public GoodsCategory getCategory(){

return this.selectedCategory;

}

/**

* 生产树形列表的数据模型

*

* @return

*

*/

private TreeModel getTreeModel() {

DefaultMutableTreeNode root = new DefaultMutableTreeNode(

PropertiesUtil.getString("categoryTree.all"));

ArrayList categoryList = cHandle.getAllCategory();

// 添加子节点

for (int i = 0; i categoryList.size(); i++) {

GoodsCategory gc = (GoodsCategory) categoryList.get(i);

String name = gc.getCategoryName();

DefaultMutableTreeNode node = new DefaultMutableTreeNode(name);

root.add(node);

}

// 生产treeModel

treeModel = new DefaultTreeModel(root);

return treeModel;

}

删除节点java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于删除节点的removeChild方法返回的是、删除节点java的信息别忘了在本站进行查找喔。