com.daxie.xops.xml.CharacterDataXMLParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xopsmanipulator Show documentation
Show all versions of xopsmanipulator Show documentation
XOPSManipulator is a Java library that offers several functions to manipulate matters relating to X operations.
The newest version!
package com.daxie.xops.xml;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.daxie.log.LogFile;
import com.daxie.tool.ExceptionFunctions;
import com.daxie.xops.character.CharacterAILevel;
import com.daxie.xops.character.CharacterData;
import com.daxie.xops.character.CharacterModelType;
import com.daxie.xops.character.CharacterTextureType;
import com.daxie.xops.character.CharacterType;
import com.daxie.xops.openxops.CharacterSpecifierConverter;
/**
* Loads character data from a XML file.
* @author Daba
*
*/
public class CharacterDataXMLParser {
private Map character_data_map;
private boolean openxops_compatible_flag;
public CharacterDataXMLParser() {
character_data_map=new HashMap<>();
openxops_compatible_flag=true;
}
public void SetOpenXOPSCompatibleFlag(boolean openxops_compatible_flag) {
this.openxops_compatible_flag=openxops_compatible_flag;
}
/**
* Loads character data from a XML file.
* @param xml_filename Filename
* @return -1 on error and 0 on success
*/
public int LoadCharacterDataXML(String xml_filename) {
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=null;
try {
builder=factory.newDocumentBuilder();
}
catch(ParserConfigurationException e) {
String str=ExceptionFunctions.GetPrintStackTraceString(e);
LogFile.WriteWarn("[CharacterDataXMLParser-LoadCharacterDataXML] Below is the stack trace.",true);
LogFile.WriteWarn(str,false);
return -1;
}
Document document=null;
try {
document=builder.parse(Paths.get(xml_filename).toFile());
}
catch(Exception e) {
String str=ExceptionFunctions.GetPrintStackTraceString(e);
LogFile.WriteWarn("[CharacterDataXMLParser-LoadCharacterDataXML] Below is the stack trace.",true);
LogFile.WriteWarn(str,false);
return -1;
}
Element el_character_data_list=document.getDocumentElement();
NodeList node_list=el_character_data_list.getChildNodes();
for(int i=0;i GetCharacterDataMap(){
return new HashMap<>(character_data_map);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy