Potrzebuję utworzyć XmlDocument
z elementem głównym zawierającym wiele przestrzeni nazw. Używam C# 2.0 lub 3.0Jak dodać wiele obszarów nazw do elementu głównego za pomocą XmlDocument?
Tu jest mój kodu:
XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("JOBS", "http://www.example.com");
doc.AppendChild(root);
XmlElement job = doc.CreateElement("JOB", "http://www.example.com");
root.AppendChild(job);
XmlElement docInputs = doc.CreateElement("JOB", "DOCINPUTS", "http://www.example.com");
job.AppendChild(docInputs);
XmlElement docInput = doc.CreateElement("JOB", "DOCINPUT", "http://www.example.com");
docInputs.AppendChild(docInput);
XmlElement docOutput = doc.CreateElement("JOB", "DOCOUTPUT", "http://www.example.com");
docOutputs.AppendChild(docOutput);
Prąd wyjściowy:
<JOBS xmlns="http://www.example.com">
<JOB>
<JOB:DOCINPUTS xmlns:JOB="http://www.example.com">
<JOB:DOCINPUT />
</JOB:DOCINPUTS>
<JOB:DOCOUTPUTS xmlns:JOB="http://www.example.com">
<JOB:DOCOUTPUT />
</JOB:DOCOUTPUTS>
</JOB>
</JOBS>
Jednak mój sygnał wyjściowy jest:
<JOBS xmlns:JOBS="http://www.example.com" xmlns:JOB="http://www.example.com">
<JOB>
<JOB:DOCINPUTS>
<JOB:DOCINPUT />
</JOB:DOCINPUTS>
<JOB:DOCOUTPUTS>
<JOB:DOCOUTPUT />
</JOB:DOCOUTPUTS>
</JOB>
</JOBS>
Moje pytanie: Jak utworzyć XmlDocument
, który zawiera element główny z wieloma przestrzeniami nazw?
Wydaje się, że na podstawie Twojego kodu ma domyślny obszar nazw "http://www.example.com", ale pożądane wyniki, które opisujesz, wskazują, że nie jest częścią przestrzeni nazw. Możesz wyjaśnić? –
Oppositional
@Oppozycyjny - dziedziczy przestrzeń nazw od ; bez jawnej przestrzeni nazw wszystkie elementy potomne odziedziczą po rodzicu. W takim przypadku format jest zależny od aplikacji AdLib, która oczekuje żądanych wydruków. –