xxxxx を実行しようとしていますが、xxxxxxxxx で問題に直面しています。私はすでにインターネットで検索しましたが、解決策が見つかりませんでした.主にxmltextwriterを使用してURLとして名前空間を書きたい.内容は次のようになります.
**<!-- language-all: lang-xml -->
<?xml version="1.0" encoding="UTF-8"?>
<book
xmlns="http://schemas.dmtf.org/ovf/environment/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:oe="http://schemas.dmtf.org/ovf/environment/1"
oe:id="">
</book>
**
コードはこちら、
int main()
{
XmlWriter testWriter;
testWriter.StartWriting("test.xml");
testWriter.StartDocument("1.0","UTF-8");
testWriter.StartElement("book");
testWriter.StartIndenting();
testWriter.AddAttributeNS("xmlns", "http://schemas.dmtf.org/ovf/environment/1", "", "http://schemas.dmtf.org/ovf/environment/1");
testWriter.AddAttributeNS("xmlns", "http://www.w3.org/2001/XMLSchema-instance", "xsi", "http://www.w3.org/2001/XMLSchema-instance");
testWriter.AddAttributeNS("xmlns", "http://schemas.dmtf.org/ovf/environment/1", "oe", "http://www.w3.org/2001/XMLSchema-instance");
testWriter.AddAttributeNS("oe", ":", "id", "");
testWriter.EndElement();
testWriter.StopWriting();
std::string buf;
testWriter.xml_to_string(buf);
return 0;
}
bool StartElement(const std::string& element_name) {
return xmlTextWriterStartElement(writer_,
BAD_CAST element_name.c_str()) >= 0;
}
bool XmlWriter::AddAttributeNS(const std::string& name,
const std::string& value,
const std::string& prefix,
const std::string& namespaceURI )
{
if(namespaceURI != "")
return xmlTextWriterWriteAttributeNS (writer_,
BAD_CAST prefix.c_str(),
BAD_CAST name.c_str(),
BAD_CAST namespaceURI.c_str(),
BAD_CAST value.c_str()) >= 0;
else
return xmlTextWriterWriteAttributeNS (writer_,
BAD_CAST prefix.c_str(),
BAD_CAST name.c_str(),
NULL,
BAD_CAST value.c_str()) >= 0;
}