可编程地创建了未在Internet Explorer中加载的tinyxml xml文件

时间:2011-07-29 16:44:32

标签: c++ xml tinyxml

我为tinyxml遵循的所有示例都产生了我能够在Internet Explorer中查看的xml文件。

然而,当我可编程创建我的时,IE中没有任何显示。但我可以确认xml文件包含了我希望它拥有的所有内容。

以下是创建xml的代码:

bool InputIO::saveDevice( const std::string & fileName, const InputDevice& device ) const
    {

        TiXmlDocument doc;
        TiXmlDeclaration* decl = new TiXmlDeclaration( "1.0", "", "" );  
        doc.LinkEndChild( decl );  
        TiXmlElement* root = new TiXmlElement("Input Devices");
        doc.LinkEndChild(root);
        TiXmlElement* dev = new TiXmlElement("Device");
        root->LinkEndChild(dev);
        dev->SetAttribute("number",1);
        for(int p = 0; p < 2; ++p)
        {
            for(int i = 0; i < NUM_KEYS; ++i)
            {
                //Primary configuration when p is 0
                InputKey key = device.getKey(InputEvent::Uniform_inputEnum(i),p == 0);

                TiXmlElement* button = new TiXmlElement("button");
                dev->LinkEndChild(button);
                button->SetAttribute("configuration",p);
                button->SetAttribute("number",i);
                button->SetAttribute("input type",key.inputType);
                button->SetAttribute("key code",key.keyCode);
                button->SetAttribute("joy axis",key.axis);
                button->SetAttribute("joy button",key.button);
                button->SetAttribute("joy stick",key.stick);

                if(key.positiveAxis)
                {
                    button->SetAttribute("axis direction","positive");
                }
                else
                {
                    button->SetAttribute("axis direction","negative");
                }
            }

        }
        doc.SaveFile(fileName.c_str());
        return true;
    }

这是生成的xml

<?xml version="1.0" ?>
<Input Devices>
    <Device number="1">
        <button configuration="0" number="0" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="1" input type="1" key code="216" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="2" input type="1" key code="84" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="3" input type="1" key code="85" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="4" input type="1" key code="82" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="5" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="6" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="7" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="8" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="9" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="10" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="11" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="12" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="13" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="14" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="15" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="16" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="17" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="18" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="19" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="0" number="20" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="0" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="1" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="2" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="3" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="4" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="5" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="6" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="7" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="8" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="9" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="10" input type="1" key code="83" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="11" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="12" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="13" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="14" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="15" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="16" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="17" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="18" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="19" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
        <button configuration="1" number="20" input type="0" key code="0" joy axis="0" joy button="0" joy stick="0" axis direction="positive" />
    </Device>
</Input Devices>

1 个答案:

答案 0 :(得分:4)

W3 XML Validator程序告诉我们您的XML:

XML Parsing Error: not well-formed 
Location: http://www.w3schools.com/xml/xml_validator.asp 
Line Number 2, Column 15: <Input Devices>
                          --------------^

最后,您终止输入设备,但空间是错误的。之后,您的XML出现了更多问题。请参阅此处了解如何制作XML well-formed