Leituras relacionadas:
Use Ajax para fazer upload de arquivos e outros parâmetros (desenvolvimento Java)
1. Arquivo XML:
O que é XML? O XML geralmente se refere a uma linguagem de marcação extensível, um subconjunto de idiomas de marcação geral padrão e é uma linguagem de marcação usada para marcar arquivos eletrônicos para torná -los estruturais.
2. Vantagens dos arquivos XML:
1) O conteúdo e a estrutura dos documentos XML estão completamente separados.
2) Interoperabilidade forte.
3) padronizar e unificar.
4) suporta várias codificações.
5) forte escalabilidade.
3. Como analisar documentos XML:
XML Parsing Documentos XML em diferentes idiomas são os mesmos, mas a sintaxe da implementação é diferente. Existem dois métodos básicos de análise. Um é o método Sax, que está analisando passo a passo na ordem dos arquivos XML. Outro método analítico é o método DOM, e a chave para o método DOM é o nó. Existem também DOM4J, Jdom e outros métodos. Este artigo apresenta os métodos DOM e DOM4J e o método de encapsulá -los em uma classe de ferramentas para ler os documentos XML.
4.xml Documentação:
scores.xml:
<? xml versão = "1.0" coding = "utf-8"?> <! id = "11"> <name> zhang san </name> <ctrenal> javase </course> <core> 100 </score> </student> <estudante id = "22"> <name> li si </name> <course> oracle </curso> <core> 98 </score> </student> </sudent>
5.dom análise xml
public static void main (string [] args) lança parserConfigurationException, saxException, ioexception {// 1. Criar DOM Parsers Factory DocumentBuilderFactory dbf = documentBuilderFactory.NewInstance (); // 2. Crie Dom Parser a partir do DocumentBuilder DocumentBuilder da Dom ParserBuilder = DBF.NewDocumentBuilder (); // 3. Analisa o documento do analisador DOM para gerar o documento da árvore dom = db.parse ("scores.xml"); // 4. Analisa a árvore dom e obtém o conteúdo do documento (texto do atributo de elemento) //4.1 Obtenha as pontuações do elemento raiz NodElist ScoresList = doc.getChildNodes (); Nó ScoresNode = ScoresList.item (1); System.out.println (scoreslist.getLength ()); //4.2 Obtenha todos os elementos da criança na lista de estudantes do aluno na lista de estudantes = scoresnode.getChildNodes (); System.out.println (StudentList.getLength ()); //4.3 Processe cada aluno para (int i = 0; i <StudentList.getLength (); i ++) {node RunSoDe = StudentList.item (i); //System.out.println (stunode.getNodEType ()); // O ID do atributo do elemento de saída if (stunode.getNodEType () == node.element_node) {elemento elem = (element) atunode; String id = elem.getAttribute ("id"); System.out.println ("id ------>"+id); } // Os elementos filho do elemento de saída Nome do curso Score de curso Nodelist ncslist = atunod.getChildNodes (); //System.out.println (ncslist.getLength ()); for (int j = 0; j <ncslist.getLength (); j ++) {node ncs = ncslist.item (j); if (ncs.getNodEType () == Node.Element_Node) {Nome da String = ncs.getNodename (); // String value = ncs.getfirstChild (). GetNodEvalue (); // O texto é filho de um elemento, então você precisa obter o valor da string string = ncs.getTextContent (); System.out.println (nome+"----->"+valor); }} System.out.println (); }}6. DOM4J Método analisando documentos XML:
public static void main (string [] args) lança DocumentException {// Use DOM4J para analisar as pontuações2.xml, gerar Dom Tree SaxReader Reader = new SaxReader (); Documento doc = reader.read (novo arquivo ("scores.xml")); // Obtenha o nó raiz: alunos elemento root = doc.getrootelement (); // Obtenha todos os nós filhos dos alunos: Iterador do aluno <SELEMT> it = root.ElementIterator (); // Treine cada aluno enquanto (iT.HasNext ()) {// obtenha cada elemento do aluno estuela = it.next (); //System.out.println(stuelem); // Atributos do aluno de saída: lista de identificação <Tribute> attList = stuelem.attributes (); for (attribute att: attlist) {string name = att.getName (); String value = att.getValue (); System.out.println (nome+"----->"+valor); } // Output os elementos da criança do aluno: nome, curso, pontuação <lemerator> it2 = stuelem.ElementIterator (); while (it2.hasnext ()) {elemento elem = it2.next (); Nome da sequência = elem.getName (); Text string = elem.getText (); System.out.println (nome+"----->"+text); } System.out.println (); }}Obviamente, não importa de que maneira analisamos XML, precisamos importar o pacote JAR (não se esqueça).
7. Meu próprio caminho:
Nos projetos de desenvolvimento reais, devemos ser bons em usar classes de ferramentas e encapsular as funções que usamos repetidamente em uma classe de ferramentas. Portanto, o método a seguir é a maneira como eu o uso durante o processo de desenvolvimento.
7.1 Quais são os arquivos de propriedades:
7.1.1 Estruturalmente:
Os arquivos .xml são principalmente arquivos de árvore.
O arquivo .Properties existe principalmente na forma de pares de valor-chave-chave.
7.1.2 De uma perspectiva flexível:
Os arquivos .xml são mais flexíveis do que os arquivos .Properties.
7.1.3 De um ponto de vista conveniente:
O arquivo .Properties é mais fácil de configurar do que o arquivo .xml.
7.1.4 da perspectiva da aplicação:
Os arquivos .Properties são mais adequados para projetos pequenos e simples, porque o .xml é mais flexível.
7.2 Documentação de suas próprias propriedades:
Criei um arquivo de caminho.Properties em meu próprio projeto, usado para armazenar o caminho que usarei e armazenado na forma de nome = valor. Por exemplo:
realpath = d:/arquivo/
7.3 Paresi seu próprio arquivo .Properties:
public class PropertiesUtil {private Static PropertiesUtil Manager = null; Gerenciador de objetos estáticos privados = new Object (); Propriedades do objeto privadolock = new Object (); String estática privada Database_config_file = "/path.properties"; Propriedades privadas Propriedades = NULL; public static Propertiesutil getInstance () {if (gerenciador == null) {synchronized (gerenciador) {if (gerenciador == null) {gerenciador = new PropertiesUtil (); }}} retornar gerente; } Propriedades privadas () {} public static string getProperty (nome da string) {return getInstance () ._ getProperty (nome); } private String _GetProperty (nome da string) {initProperty (); Propriedade da String = Propriedades.getProperty (nome); if (propriedade == null) {return ""; } else {return Property.trim (); }} enumeração estática pública <?> PropertyNames () {return getInstance () ._ PropertyNames (); } enumeração privada <?> _propertyNames () {initProperty (); Return Properties.PropertyNames (); } private void initProperty () {if (Properties == null) {Synchronized (Propertieslock) {if (Properties == null) {loadProperties (); }}}} private void loadProperties () {Properties = new Properties (); InputStream in = null; tente {in = getClass (). getResourCeasStream (database_config_file); Propriedades.Load (in); } catch (Exceção e) {System.err .println ("Erro a leitura de confl conferts em PropertiesUtil.loadProps ()" + e); E.PrintStackTrace (); } finalmente {try {in.close (); } catch (Exceção e) {}}} / ** * Forneça caminho do arquivo de configuração * * @param filepath * @return * / public Properties loadProperties (string filepath) {Propriedades Propriedades = novas propriedades (); InputStream in = null; tente {in = getClass (). getResourceasStream (filepath); Propriedades.Load (in); } catch (Exceção e) {System.err .println ("Erro a leitura de confl conferts em PropertiesUtil.loadProperties ()" + e); E.PrintStackTrace (); } finalmente {try {in.close (); } catch (Exceção e) {}} Retornar Propriedades; }} Antes de usá -lo, precisamos apenas anexar um valor à propriedade DATABASE_CONFIG_FILE , que é o nome do nosso arquivo .Properties. Ao usá -lo, podemos usar diretamente o nome da classe. getProperty(“realPath”); Para obter o conteúdo com a chave no arquivo .Properties que é real.
O acima é o método de leitura de arquivos de configuração XML e Propriedades no Java Development apresentado a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo!