【问题标题】:How to add attribute to Xmlns in Xml file using VB.Net如何使用 VB.Net 向 Xml 文件中的 Xmlns 添加属性
【发布时间】:2017-03-05 19:21:07
【问题描述】:

我需要使用 VP.Net 在XML 文件中为Xmlns 添加属性,我使用了以下代码:

Dim ns As XNamespace = "http://www.sitemaps.org/schemas/sitemap/0.9"
Dim xi As XNamespace = "http://www.w3.org/1999/xhtml"
Dim doc As New XmlDocument
Dim decNode As XmlNode = doc.CreateXmlDeclaration("1.0", "utf-8", Nothing)
doc.AppendChild(decNode)
Dim parentNode As XmlNode
parentNode = doc.CreateElement("xmlns")
doc.AppendChild(parentNode)
Dim childNode1 As XmlNode = doc.CreateElement("url")
parentNode.AppendChild(childNode1)
Dim sitemap_loc As String = "https://example.com/" & "example.aspx?tdc_id=" & dtvTender.Table.Rows(tender).Item(CMS_Tender_Category.Fields.TDC_ID)
Dim sitemap_lastmod As String = Date.Now.ToString("yyyy-MM-dd")
Dim childElement1 As XmlElement = doc.CreateElement("loc")
childElement1.InnerText = sitemap_loc
childNode1.AppendChild(childElement1)
Dim childElement2 As XmlElement = doc.CreateElement("lastmod")
childElement2.InnerText = sitemap_lastmod
childNode1.AppendChild(childElement2)
Dim strfilepath As String = Server.MapPath("~/SiteMap/") &  Date.Now.ToString("dd-MM-yyyy") & ".xml"
doc.Save(strfilepath)

我需要在xmlns标签内添加这个属性

xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml

【问题讨论】:

    标签: asp.net xml vb.net sitemap


    【解决方案1】:

    如果你是creating a sitemap,可能更容易使用XDocument

       'Sample Data: You don't need this, this is just sample data used below.
       '   But if you do (e.g. for testing), you'll need to reference System.ServiceModel
        Dim syndicationItems = New List(Of SyndicationItem) From {
            New SyndicationItem("page 1", "Description 1", New Uri("htto://domain.com/page1.html"), "id1", DateTimeOffset.Now),
            New SyndicationItem("page 2", "Description 2", New Uri("htto://domain.com/page2.html"), "id2", DateTimeOffset.Now),
            New SyndicationItem("page 3", "Description 3", New Uri("htto://domain.com/page3.html"), "id3", DateTimeOffset.Now)
            }
    
        Dim xdoc = New XDocument(New XDeclaration("1.0", "UTF-8", Nothing))
        Dim ns As XNamespace = "http://www.sitemaps.org/schemas/sitemap/0.9"
        Dim urlSet as New XElement(ns + "urlset")
    
    
        syndicationItems.ForEach(Sub(s As [SyndicationItem])
                                     Dim url as New XElement(ns + "url")
                                     url.Add(New XElement(ns + "loc", s.Links.First().Uri.ToString()))
                                     url.Add(New XElement(ns + "lastmod", s.LastUpdatedTime.ToString("yyyy-MM-dd")))
                                     urlset.Add(url)
                                 End Sub)
    
        xdoc.Add(urlSet)       
        '....        
        'xdoc.Save(strfilepath)
    

    输出:

    <?xml version="1.0" encoding="utf-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
      <url>
        <loc>htto://domain.com/page1.html</loc>
        <lastmod>2017-03-05</lastmod>
      </url>
      <url>
        <loc>htto://domain.com/page2.html</loc>
        <lastmod>2017-03-05</lastmod>
      </url>
      <url>
        <loc>htto://domain.com/page3.html</loc>
        <lastmod>2017-03-05</lastmod>
      </url>
    </urlset>
    

    第...

    【讨论】:

      猜你喜欢
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多