2
    <?xml version="1.0" encoding="UTF-8"?>
<manifest identifier="D2L_1000000179" xmlns:d2l_2p0="http://desire2learn.com/xsd/d2lcp_v2p0" xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">
  <resources>
    <resource identifier="res_question_library" type="webcontent" d2l_2p0:material_type="d2lquestionlibrary" d2l_2p0:link_target="" href="questiondb.xml" title="Question Library" />
    <resource identifier="res_quiz_1000000179" type="webcontent" d2l_2p0:material_type="d2lquiz" d2l_2p0:link_target="" href="quiz_d2l_1000000179.xml" title="Quiz to test D2L import" />
  </resources>
</manifest>

I want to create this xml file . but when i am creating this using Xelement or XmlElemenmt i am getting this one

<?xml version="1.0" encoding="UTF-8"?>
<manifest identifier="D2L_1000000179" xmlns:d2l_2p0="http://desire2learn.com/xsd/d2lcp_v2p0" xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">
  <resources>
    <resource identifier="res_question_library" type="webcontent" material_type="d2lquestionlibrary" link_target="" href="questiondb.xml" title="Question Library" />
    <resource identifier="res_quiz_1000000179" type="webcontent" material_type="d2lquiz" link_target="" href="quiz_d2l_1000000179.xml" title="Quiz to test D2L import" />
  </resources>
</manifest>

here d2l_2p0:material_type is coming like material_type.

some one help me to create this using .net framework.

code for this is here below

private void createMenifetData(string destPath, long listExam)
{
    XmlDocument xDoc = new XmlDocument();
    XmlDeclaration xmlDeclaration = xDoc.CreateXmlDeclaration("1.0", "UTF-8", "");
    XmlElement rootnode = xDoc.CreateElement("manifest");
    xDoc.InsertBefore(xmlDeclaration, xDoc.DocumentElement);
    rootnode.SetAttribute("identifier", "D2L_" + listExam.ToString());
    rootnode.SetAttribute("xmlns:d2l_2p0", "http://desire2learn.com/xsd/d2lcp_v2p0");
    rootnode.SetAttribute("xmlns", "http://www.imsglobal.org/xsd/imscp_v1p1");

    XmlElement resources = xDoc.CreateElement("resources");
    XmlElement resource = xDoc.CreateElement("resource");
    resource.SetAttribute("identifier", "res_question_library");
    resource.SetAttribute("type", "webcontent");
    resource.SetAttribute(@"d2l_2p0:material_type", "d2lquestionlibrary");
    resource.SetAttribute(@"d2l_2p0:link_target", "");
    resource.SetAttribute("href", "questiondb.xml");
    resource.SetAttribute("title", "Question Library");
    resources.AppendChild(resource);

    XmlElement resource1 = xDoc.CreateElement("resource");
    resource1.SetAttribute("identifier", "res_quiz_" + listExam);
    resource1.SetAttribute("type", "webcontent");
    resource1.SetAttribute(@"d2l_2p0:material_type", "d2lquiz");
    resource1.SetAttribute(@"d2l_2p0:link_target", "");
    resource1.SetAttribute("href", "quiz_d2l_" + listExam + ".xml");
    resource1.SetAttribute("title", "Quiz to test D2L import");
    resources.AppendChild(resource1);

    rootnode.AppendChild(resources);
    xDoc.AppendChild(rootnode);
    xDoc.Save(destPath + "\\imsmanifest.xml");}
1
  • Please show your code. Otherwise we can't fix it. Commented May 12, 2011 at 12:04

3 Answers 3

1
    XNamespace defaultNamespace = "http://www.imsglobal.org/xsd/imscp_v1p1";

    const string NAMESPACE_URI = "http://desire2learn.com/xsd/d2lcp_v2p0";
    const string NAMESPACE_PREFIX = "d2l_2p0";

    XNamespace otherNamespace = NAMESPACE_URI;

    XElement root = new XElement(defaultNamespace + "manifest",
                        new XAttribute("identifier", "D2L_1000000179"),
                        new XAttribute(XNamespace.Xmlns + NAMESPACE_PREFIX, NAMESPACE_URI),
                        new XElement(defaultNamespace + "resources",
                            new XElement(defaultNamespace + "resource",
                                new XAttribute("identifier", "res_question_library"),
                                new XAttribute("type", "webcontent"),
                                new XAttribute(otherNamespace + "material_type", "d2lquestionlibrary"),
                                new XAttribute(otherNamespace + "link_target", ""),
                                new XAttribute("href", "questiondb.xml"),
                                new XAttribute("title", "Question Library")),
                            new XElement(defaultNamespace + "resource",
                                new XAttribute("identifier", "res_quiz_1000000179"),
                                new XAttribute("type", "webcontent"),
                                new XAttribute(otherNamespace + "material_type", "d2lquiz"),
                                new XAttribute(otherNamespace + "link_target", ""),
                                new XAttribute("href", "quiz_d2l_1000000179.xml"),
                                new XAttribute("title", "Quiz to test D2L import"))));
Sign up to request clarification or add additional context in comments.

Comments

0

Since you tagged this VB I'd just go the simplest route and use XML literals:

    Dim T = <manifest identifier="D2L_1000000179" xmlns:d2l_2p0="http://desire2learn.com/xsd/d2lcp_v2p0" xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">
                <resources>
                    <resource identifier="res_question_library" type="webcontent" d2l_2p0:material_type="d2lquestionlibrary" d2l_2p0:link_target="" href="questiondb.xml" title="Question Library"/>
                    <resource identifier="res_quiz_1000000179" type="webcontent" d2l_2p0:material_type="d2lquiz" d2l_2p0:link_target="" href="quiz_d2l_1000000179.xml" title="Quiz to test D2L import"/>
                </resources>
            </manifest>

This kicks out:

<manifest identifier="D2L_1000000179" xmlns:d2l_2p0="http://desire2learn.com/xsd/d2lcp_v2p0" xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">
  <resources>
    <resource identifier="res_question_library" type="webcontent" d2l_2p0:material_type="d2lquestionlibrary" d2l_2p0:link_target="" href="questiondb.xml" title="Question Library" />
    <resource identifier="res_quiz_1000000179" type="webcontent" d2l_2p0:material_type="d2lquiz" d2l_2p0:link_target="" href="quiz_d2l_1000000179.xml" title="Quiz to test D2L import" />
  </resources>
</manifest>

1 Comment

I've never understood why people tag it as both. I think I'll tag my next question as html or assembler!
0

Use CreateAttribute method on XMLDocument to create an attribute with a namespace. Later append to the attributes collection of xmlelement that should have this attribute.

public XmlAttribute CreateAttribute(
string qualifiedName,
string namespaceURI

)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.