A pesquisa principal deste artigo é o código relevante de Java usando o DOM para adicionar, excluir, modificar e pesquisar documentos XML. Os exemplos específicos são os mostrados abaixo.
código -fonte:
pacote com.zc.homework18; importar java.io.file; importar javax.xml.parsers.documentBuilder; importar javax.xml.parsers.documentBuilderFactory; import javax.xml.transformer; importância javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import javax.xml.xpath.XPath;import javax.xml.xpath.XPathConstants;import javax.xml.xpath.XPathExpressionException;import javax.xml.xpath.XPathFactory;import org.w3c.dom.document; importar org.w3c.dom.Element; importar org.w3c.dom.node; importar org.w3c.dom.nodelist; public class xmlwriter {private static string xmlpath = "src // com // zc //workwork18 // myxml.x.x; public static void getFamilyMemebers () { /** Crie uma instância de fábrica de arquivos* / documentBuilderFactory dbf = documentBuilderFactory.newInstance (); // Se o analisador criado deverá excluir espaços no conteúdo do elemento ao analisar um documento XML, ele é verdadeiro, caso contrário, é falso dbf.setInoringElementContentWhitespace (true); tente {/** Crie um objeto de arquivo*/ documentBuilder db = dbf.newdocumentBuilder (); // crie um analisador para analisar o documento XML document Doc = db.parse (xmlpath); // use o DOM para analisar um arquivo xml/** Passe pela lista e extraia os dados do arquivo xml*/ // obtenha todos os nós relacionados de acordo com o nome do nó nodelist sonlist = doc.getElementsByTagName ("filho"); for (int i = 0; i <sonlist.getLength (); i ++) // Objeto de processamento em loop {// Processamento de atributos do nó elemento SON = (elemento) sonList.Item (i); // Todos os nós da criança no nó do loop filho para (nó nó = son.getfirstchild (); nó! = Null; node = node .getNextSibling ()) {// Determine se é um nó de elemento se (node.getnodetype () == node.Element_Node) {string; String value = node.getfirstchild (). GetNodEvalue (); System.out.println (nome + ":" + valor); }}}} catch (Exceção e) {System.out.println (e.getMessage ()); }}} // Modificar public static void modifyson () {// Crie a instância de fábrica de arquivos DocumentBuilderFactory dbf = documentBuilderFactory.NewInstance (); dbf.setInoringElementContentWhitespace (true); tente {// obtenha a instância do documento DOM do documentBuilder do XML DocumentBuilder = dbf.newdocumentBuilder (); // Obter documento do documento documento xmldoc = db.parse (xmlpath); // Obter elemento de nó raiz root = xmldoc.getDocumentElement (); // Posicione o nó com o elemento ID 001 por = (elemento) selecionSingleNode ("/pai/filho [@id = '001']", root); // altera o conteúdo do nó de idade para 28 por.getElementsByTagName ("Age"). Item (0) .SettextContent ("28"); // Salvar transformador de fábrica = TransformerFactory.NewInstance (); Transformer antigo = Factory.NewTransFormer (); antigo.Transform (New Domsource (XMLDoc), New StreamResult (novo arquivo (XMLPath))); } catch (Exceção e) {System.out.println (e.getMessage ()); }} // Obtenha o nó de destino, exclua e, finalmente, salve public static void Discarson () {documentBuilderFactory dbf = documentBuilderFactory.NewInstance (); dbf.setInoringElementContentWhitespace (true); tente {documentBuilder db = dbf.newdocumentBuilder (); Documento xmldoc = db.parse (xmlpath); // Obtenha o elemento do nó raiz root = xmldoc.getDocumentElement (); // Posicionar o nó com id = 002 no elemento do nó raiz SON = (elemento) selecionSingleNode ("/pai/filho [@id = '002']", root); // exclua o nó root.removeChild (filho); // Salvar transformador de fábrica = TransformerFactory.NewInstance (); Transformer antigo = Factory.NewTransFormer (); antigo.Transform (New Domsource (XMLDoc), New StreamResult (novo arquivo (XMLPath))); } catch (Exceção e) {System.out.println (e.getMessage ()); }} // Adicione um novo nó public static void CreateSON () {// Crie a instância de fábrica de arquivos DocumentBuilderFactory dbf = documentBuilderFactory.NewInstance (); dbf.setInoringElementContentWhitespace (false); tente {documentBuilder db = dbf.newdocumentBuilder (); // Crie documento do documento Document Xmldoc = db.parse (xmlpath); // Obtenha o elemento do nó raiz root = xmldoc.getDocumentElement (); // Crie filho do nó, defina o ID correspondente como 004 elemento filho = xmldoc.createElement ("filho"); SON.setAtattribute ("ID", "004"); // Crie o nome do nome do nó Nome = xmldoc.createElement ("nome"); name.settextContent ("Little Son"); SON.APPNENDCHILD (NOME); // Crie o elemento da idade do nó Age = xmldoc.createElement ("idade"); Age.SettextContent ("0"); filho.appendChild (idade); // Adicione filho ao nó raiz root.appendchild (filho); // Salvar transformador de fábrica = TransformerFactory.NewInstance (); Transformer antigo = Factory.NewTransFormer (); antigo.Transform (New Domsource (XMLDoc), New StreamResult (novo arquivo (XMLPath))); } catch (Exceção e) {System.out.println (e.getMessage ()); }} // Modificar informações do nó public estático Nó selecionSingLENODE (String Expression, elemento fonte) {Resultado do nó = null; // Crie XPath Factory XPatkFactory xPatFactory = xPathFactory.NewInstance (); // crie o objeto xpath xpath xpath = xpathFactory.newxPath (); tente {resultado = (nó) xpath.evaluate (express, fonte, xpathconstants.node); System.out.println (resultado); } catch (xpathExpressionException e) {System.out.println (e.getMessage ()); } resultado de retorno; } // Imprima public static void main (string [] args) {getfamilymeMemebers (); System.out.println ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ System.out.println ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ System.out.println ("Adicionar dados");Arquivos XML
<? xml versão = "1.0" coding = "utf-8" standalone = "não"?> <dor> <filho id = "001"> <name> chefe </name> <age> 20 </idade </son </son id = "002"> <name> segundo </name> </idade </son> </snent </snent = "002"> <name> </name> </idade </son> </snent> </snent = "002"> <name> </name> </idade </son> </snent> </snent = "002"> <a Age> 13 </a Age> </Son> </dai>
Resumir
O exposto acima é o conteúdo inteiro deste artigo sobre o código de exemplo de Java usando o DOM para adicionar, excluir, modificar e pesquisar documentos XML. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!