rendered paste bodyimport 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());
}
}
}