Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import javax.xml.parsers.DocumentBuilderFactory;
- import org.w3c.dom.Document;
- import org.w3c.dom.Node;
- public class SeedParser{
- // Strings
- static String castleId = "castle";
- static String cropId ="crop";
- static String seedId ="seed_id";
- static String matureId ="mature_id";
- static String reward1 ="reward1";
- static String reward2 ="reward2";
- static String alternative ="alternative";
- static String level ="level";
- static String limitSeed ="limit_seed";
- static String limitCrops ="limit_crops";
- public static void main (String argv [])
- {
- parseSeeds();
- }
- /**
- *
- *
- <SEEDS>
- <castle id="1">
- <crop id="5073"> <!-- Dark Coda -->
- <seed_id val="5016" /> <!-- Seed: Dark Coda -->
- <mature_id val="5103" /> <!-- Mature Dark Coda -->
- <reward1 val="1864" /> <!-- Stem -->
- <reward2 val="1878" /> <!-- Braided Hemp -->
- <alternative val="0" />
- <level val="10" />
- <limit_seed val="8100" />
- <limit_crops val="9000" />
- </crop>
- </castle>
- </SEEDS
- */
- public static void parseSeeds()
- {
- try {
- DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
- docBuilderFactory.setValidating(false);
- docBuilderFactory.setIgnoringComments(true);
- docBuilderFactory.setIgnoringElementContentWhitespace(true);
- File file = new File("seeds.xml");
- Document doc = null;
- doc = docBuilderFactory.newDocumentBuilder().parse(file);
- doc.getDocumentElement().normalize ();
- // SEED File
- for(Node a = doc.getFirstChild(); a != null; a = a.getNextSibling())
- {
- if ("SEEDS".equalsIgnoreCase(a.getNodeName()))
- {
- // Castle
- for(Node b = a.getFirstChild(); b != null; b = b.getNextSibling())
- {
- if(castleId.equalsIgnoreCase(b.getNodeName()))
- {
- // Crop
- for(Node c = b.getFirstChild(); c != null; c = c.getNextSibling())
- {
- if (cropId.equalsIgnoreCase(c.getNodeName()))
- {
- int cropIdVal = Integer.parseInt(c.getAttributes().getNamedItem("id").getNodeValue());
- // System.out.println(cropIdVal);
- int seedIdVal = 0;
- int matureIdVal = 0;
- int type1RVal = 0;
- int type2RVal = 0;
- int isAltVal = 0;
- int levelVal = 0;
- int limitSeedsVal = 0;
- int limitCropsVal = 0;
- // System.out.println("Parser got Crop ID");
- // Attributes
- for(Node d = c.getFirstChild(); d != null; d.getNextSibling())
- {
- // System.out.println("Parser got in Crops")
- if(d.getNodeName().equals("seed_id"))
- {
- seedIdVal = Integer.parseInt(d.getAttributes().getNamedItem("val").getNodeValue());
- }
- else if (d.getNodeName().equalsIgnoreCase("mature_id"))
- {
- matureIdVal = Integer.parseInt(d.getAttributes().getNamedItem("val").getNodeValue());
- }
- else if (d.getNodeName().equalsIgnoreCase("reward1"))
- {
- type1RVal = Integer.parseInt(d.getAttributes().getNamedItem("val").getNodeValue());
- }
- else if (d.getNodeName().equalsIgnoreCase("reward2"))
- {
- type2RVal = Integer.parseInt(d.getAttributes().getNamedItem("val").getNodeValue());
- }
- else if (d.getNodeName().equalsIgnoreCase("alternative"))
- {
- isAltVal = Integer.parseInt(d.getAttributes().getNamedItem("val").getNodeValue());
- }
- else if (d.getNodeName().equalsIgnoreCase("level"))
- {
- levelVal = Integer.parseInt(d.getAttributes().getNamedItem("val").getNodeValue());
- }
- else if (d.getNodeName().equalsIgnoreCase("limit_seed"))
- {
- limitSeedsVal = Integer.parseInt(d.getAttributes().getNamedItem("val").getNodeValue());
- }
- else if (d.getNodeName().equalsIgnoreCase("limit_crops"))
- {
- limitCropsVal = Integer.parseInt(d.getAttributes().getNamedItem("val").getNodeValue());
- }
- // System.out.println("Parser got out of Crops");
- }
- System.out.println("system is out of crop elements");
- System.out.println("<crop id =X"+cropIdVal +"X seedId=X"+seedIdVal+"X mature_Id=X"+ matureIdVal + "X reward1=X"+ type1RVal+"X reward2=X"+ type2RVal + "X alternative=X"+isAltVal+"X level=X"+ levelVal+ "X limit_seed=X"+ limitSeedsVal+ "X limit_crops=X"+limitCropsVal+"X />");
- }
- }
- }
- }
- }
- }
- }catch (Throwable t) {
- t.printStackTrace ();
- }
- }
- }
Add Comment
Please, Sign In to add comment