1. Třeba tohle je přesně ten shit, který nechci dělat:
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile);
2. Proč, když to jde takhle jednoduše:
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlFile);
A že není 2 tak obecná? Dpč, 99,5% případů užití je jen pro ten příklad č. 2!
A co na tom nechceš dělat? Ty příklady jsou zcela zaměnitelný, použij co ti přijde hezčí. Neřeší to nic z toho, co popisuješ.
Případ, kdy objekt zpracovává soubor:
class A:
private DocumentBuilder parser
constructor():
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
this.parser = dbFactory.newDocumentBuilder();
parse(file):
doc = this.parser.parse(file)
-- další logika, kdy zpracovávám doc
Případ, kdy soubor konfiguruje objekt:
class B:
private config
constructor(configfile):
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
parser = dbFactory.newDocumentBuilder();
doc = parser.parse(configfile)
this.config = unifiq(doc)
foo(data):
-- další logika, kdy zpracovávám config