Mam funkcji, która generuje XML dla obiektu listy:Xelement funkcji Dodaj dodaje xmlns = "" do Xelement
public XDocument ToXML()
{
foreach (var row in this)
{
var xml = row.ToXml();
template.Root.Add(xml);
}
return template;
}
template.ToString() brzmi: <RootElement xmlns="urn:testTools">
xml brzmi: <Example><SubElement>testData</SubElement></Example>
Po funkcja add wykonała template.ToString() brzmi: <RootElement xmlns="urn:testTools"><Example xmlns=""><SubElement>testData</SubElement></Example>
Z jakiegoś powodu dodano pustą przestrzeń nazw, w jaki sposób mogę temu zapobiec?
Ok Teraz rozumiem, dlaczego to robi, dziękuję! Ale jest to użyteczne tylko wtedy, gdy scalasz różne pliki XML, z różnymi przestrzeniami nazw, a nie podczas tworzenia pojedynczego dokumentu xml. Ponadto pusty znacznik przestrzeni nazw jest nieprawidłowy xml. – JJoos
@JJoos: pusta przestrzeń nazw jest z pewnością poprawnym kodem XML. Co sprawia, że myślisz, że tak nie jest? Pamiętaj też, że pojedynczy dokument XML może zawierać elementy i atrybuty z wielu przestrzeni nazw. –
@John Saunders masz rację, pomyślałem, że było nielegalne z powodu: http://www.w3.org/TR/REC-xml-names/ Punkt 2.2 w pierwszej linii. Trochę mylące. Dzięki. – JJoos