您现在的位置是:主页 > news > asp net做购物网站/做网络销售感觉自己是骗子

asp net做购物网站/做网络销售感觉自己是骗子

admin2025/5/22 19:26:30news

简介asp net做购物网站,做网络销售感觉自己是骗子,37网页游戏中心,找人做网站去哪里找2019独角兽企业重金招聘Python工程师标准>>> 1.关于本文 这几天打算写一个工具类JsonXmlHelper,用来进行用XML来保存JSON格式文件的工作。该工具类中要实现2个最主要的函数: 1)将JSON格式的内容写入到地址为address的XML中&#x…

asp net做购物网站,做网络销售感觉自己是骗子,37网页游戏中心,找人做网站去哪里找2019独角兽企业重金招聘Python工程师标准>>> 1.关于本文 这几天打算写一个工具类JsonXmlHelper,用来进行用XML来保存JSON格式文件的工作。该工具类中要实现2个最主要的函数: 1)将JSON格式的内容写入到地址为address的XML中&#x…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.关于本文

这几天打算写一个工具类JsonXmlHelper,用来进行用XML来保存JSON格式文件的工作。该工具类中要实现2个最主要的函数:

1)将JSON格式的内容写入到地址为address的XML中:WriteJsonToXml

2)把函数1中构造的XML文件恢复成JSON格式文档:RecoverJsonFromXml

函数1的实现将在本文中给出,函数2的实现将在下一篇博文中给出

2.代码说明

1)添加引用:Newtonsoft.Json.dll

2)导入库

'JSON解析相关函数,需要添加引用Newtonsoft.Json.dll
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
'XMl解析相关函数
Imports System.Xml

3)在模块ModuleTest中建立类JsonXmlHelper

4)两个基础函数:

WriteToFile(将一个字符串的内容写入到文件)

ReadFromFile(从文件中读取内容赋值到一个字符串)

''' <summary>
''' 将字符串中内容写入到文件
''' </summary>
''' <param name="address">文件地址</param>
''' <param name="content">被写入文件的字符串</param>
''' <remarks></remarks>
Public Shared Sub WriteToFile(address As String, content As String)TryDim sw As IO.StreamWritersw = New IO.StreamWriter(address, False, System.Text.Encoding.UTF8)sw.Write(content)sw.Close()sw.Dispose()Catch ex As ExceptionThrow New Exception(ex.Message)End Try
End Sub''' <summary>
''' 从文件中读取信息到字符串
''' </summary>
''' <param name="address">文件地址</param>
''' <returns>读取到的字符串</returns>
''' <remarks></remarks>
Public Shared Function ReadFromFile(address As String)TryDim sr As IO.StreamReadersr = IO.File.OpenText(address)Return sr.ReadToEnd()Catch ex As ExceptionThrow New Exception(ex.Message)End Try
End Function

5)函数WriteJsonToXml的实现

''' <summary>
''' 将JSON格式的内容写入到地址为address的XML中
''' </summary>
''' <param name="address">要存入的文件地址</param>
''' <param name="json">源JSON字符串</param>
''' <remarks></remarks>
Public Shared Sub WriteJsonToXml(address As String, json As String)'如果存在同名文件则先删除If IO.File.Exists(address) ThenIO.File.Delete(address)End If'建立XML文档Dim writer As XmlTextWriter =New XmlTextWriter(address, Text.Encoding.GetEncoding("GBK"))writer.Formatting = Xml.Formatting.Indentedwriter.WriteStartDocument()writer.WriteComment("这个XML文档中存储了一个JSON格式的信息")'递归遍历JSON中的项并写入到XML中writer.WriteStartElement("Root")'将JSON字符串中内容写入到XML文档WriteToXml(writer, json)writer.WriteEndElement() 'Root结点结束writer.WriteEndDocument()writer.Close()'XML文档创建结束End Sub''' <summary>
''' 将一段JSON格式字符串写入到XML文件中
''' </summary>
''' <param name="writer"></param>
''' <param name="json"></param>
''' <remarks></remarks>
Private Shared Sub WriteToXml(writer As XmlTextWriter, json As String)Dim jobj As JObject = JObject.Parse(json)'遍历读取到的JSON字符串For Each jtemp As JProperty In jobj.Children'根据读入的不同数据类型分类讨论'Console.WriteLine(jtemp.Name.ToString & " " & jtemp.Value.ToString)Select Case jtemp.Value.TypeCase JTokenType.Objectwriter.WriteStartElement(jtemp.Name.ToString(), "")writer.WriteAttributeString("Type", "Object")WriteToXml(writer, jtemp.Value.ToString)writer.WriteEndElement()Case JTokenType.Arraywriter.WriteStartElement(jtemp.Name.ToString(), "")writer.WriteAttributeString("Type", "Array")'遍历数组读取值For i As Integer = 0 To jtemp.Value.Count - 1writer.WriteAttributeString("Value" & i, jtemp.Value(i).ToString)Nextwriter.WriteEndElement()Case JTokenType.Stringwriter.WriteStartElement(jtemp.Name.ToString(), "")writer.WriteAttributeString("Type", "String")writer.WriteAttributeString("Value", jtemp.Value.ToString)writer.WriteEndElement()Case JTokenType.Booleanwriter.WriteStartElement(jtemp.Name.ToString(), "")writer.WriteAttributeString("Type", "Boolean")writer.WriteAttributeString("Value", jtemp.Value.ToString)writer.WriteEndElement()Case JTokenType.Integerwriter.WriteStartElement(jtemp.Name.ToString(), "")writer.WriteAttributeString("Type", "Integer")writer.WriteAttributeString("Value", jtemp.Value.ToString)writer.WriteEndElement()Case JTokenType.Floatwriter.WriteStartElement(jtemp.Name.ToString(), "")writer.WriteAttributeString("Type", "Float")writer.WriteAttributeString("Value", jtemp.Value.ToString)writer.WriteEndElement()Case JTokenType.Nullwriter.WriteStartElement(jtemp.Name.ToString(), "")writer.WriteAttributeString("Type", "Null")writer.WriteAttributeString("Value", jtemp.Value.ToString)writer.WriteEndElement()Case ElseEnd SelectNextEnd Sub

3.上面若干函数的调用示例

1)建立结构Person

Public Class PersonPublic Name As String '姓名Public Age As Integer '年龄Public Sex_is_Male As Boolean '性别Public Structure PartnerInfo '伙伴信息结构Public Partner_Name As String '伙伴姓名Public Partner_Age As Integer '伙伴年龄Public Partner_Sex_is_Male As Boolean '伙伴性别End StructurePublic Partner As PartnerInfo '伙伴Public Achievement As String()''' <summary>''' 构造函数''' </summary>''' <param name="isDefault">true:使用默认值,false:使用测试值</param>''' <remarks></remarks>Public Sub New(Optional ByVal isDefault As Boolean = True)Me.Name = IIf(isDefault, "", "Tsybius")Me.Age = IIf(isDefault, 0, 23)Me.Sex_is_Male = IIf(isDefault, True, True)Me.Partner.Partner_Name = IIf(isDefault, "", "Galatea")Me.Partner.Partner_Age = IIf(isDefault, 0, 21)Me.Partner.Partner_Sex_is_Male = IIf(isDefault, True, False)Me.Achievement = IIf(isDefault, New String() {},New String() {"ach1", "ach2", "ach3"})End Sub
End Class

2)在Main函数中调用本文中的函数

Sub Main()'将测试内容写入到文件test.txt中JsonXmlHelper.WriteToFile("test.txt", "这是一段测试内容")'从文件test.txt中读入内容Console.WriteLine(JsonXmlHelper.ReadFromFile("test.txt"))Console.WriteLine()'建立Person结构实例Dim p As Person = New Person(False)'将Person类型实例存储到json格式的字符串中(两种格式:不缩进、缩进)Dim json1 As String =JsonConvert.SerializeObject(p, Newtonsoft.Json.Formatting.None)Dim json2 As String =JsonConvert.SerializeObject(p, Newtonsoft.Json.Formatting.Indented)'输出生成的字符串Console.WriteLine(json1 & vbCrLf & vbCrLf & json2)JsonXmlHelper.WriteJsonToXml("x.xml", json1)Console.ReadLine()End Sub

3)运行结果

控制台输出结果

221756_8bhw_1425762.png

生成的x.xml内容

<?xml version="1.0" encoding="gb2312"?>
<!--这个XML文档中存储了一个JSON格式的信息-->
<Root><Name Type="String" Value="Tsybius" /><Age Type="Integer" Value="23" /><Sex_is_Male Type="Boolean" Value="True" /><Partner Type="Object"><Partner_Name Type="String" Value="Galatea" /><Partner_Age Type="Integer" Value="21" /><Partner_Sex_is_Male Type="Boolean" Value="False" /></Partner><Achievement Type="Array" Value0="ach1" Value1="ach2" Value2="ach3" />
</Root>

END

转载于:https://my.oschina.net/Tsybius2014/blog/295334