All pastes #31328 Raw Edit

Miscellany

public text v1 · immutable
#31328 ·published 2005-11-26 18:47 UTC
rendered paste body
import org.jdom.Document;

import org.jdom.Element;

import org.jdom.Attribute;

import org.jdom.Comment;

import org.jdom.JDOMException;

import org.jdom.input.SAXBuilder;

import org.jdom.output.XMLOutputter;

import org.jdom.transform.JDOMResult;

import org.jdom.transform.JDOMSource;



// JDOM bygger på existerande XML-funktionalitet i Java

import javax.xml.transform.Transformer;

import javax.xml.transform.stream.StreamSource;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.TransformerException;



// En del standard I/O-jox från java.io används också

import java.io.File;

import java.io.IOException;



import java.io.BufferedWriter;

import java.io.FileWriter;





import java.util.List;





class lab45 {

	

	static String person = new String();

	

	

	public static void main(String args[]) {

		

		person=args[0];

		

		

		SAXBuilder builder = new SAXBuilder();

		builder.setValidation(true);

		builder.setIgnoringElementContentWhitespace(true);

		Document doc2 = null;

		try {

			doc2 = builder.build(new File("GulaFaran.xml"));

			

		} catch (IOException e) {

			System.err.println("Unable to write XML output: " + e.getMessage());

		} catch(JDOMException e) {

			System.err.println("Unable to parse XML input: " + e.getMessage());

		}

		

		//

		

		List akter = (doc2.getRootElement()).getChildren("akt");

		for(int i=0; i<akter.size(); i++)

		{

			Element akt=(Element)akter.get(i);

			List scener =(akt.getChildren("scen"));

			for(int j=0; j<scener.size(); j++)

			{

				Element scen=(Element)scener.get(j);

				List tal =(scen.getChildren("tal"));

				for(int k=tal.size()-1; k>=0; k--)

				{

					Element talet=(Element)tal.get(k);

					List attribut = talet.getAttributes();

					

					

					if(!(((Attribute)attribut.get(0)).getValue()).equals(person))

					{

						tal.remove(k);

					}

					

				}

			}

		}	

		

		try{

				BufferedWriter pr = new BufferedWriter(new FileWriter("temputfil.xml", false));

				XMLOutputter outputter = new XMLOutputter("  ", true, "cp850");

				//				XMLOutputter outputter = new XMLOutputter("  ", true, "UTF-16");

				//outputter.output(doc2, System.out);

				outputter.output(doc2, pr);

		} catch (IOException e) {

			System.err.println("Unable to write XML output: " + e.getMessage());

		} catch(Exception e) {

			System.err.println("Unable to parse XML input: " + e.getMessage());

		}

	}

}