我有一个json文件,看起来像这样:
{
"versionTitle": "Title",
"sectionNames": [
"Section1",
"SubSection",
"SubSubSection"
],
"language": "he",
"title": "Title, subtitle",
"text": [
[
[
"<big><b>some text </b></big>",
"<big><b>other text </b></big>",
<b>more text</>
],
[
"<big><b>textn</b></big>",
"<small>other text <small>n",
],
我想将其解析为可用的对象,以便我可以将"big"标记定义为标题,将"b"标记定义为常规文本等,并适当地设置它们的样式。
我明白我需要做这样的事情来提取json字符串:
var json = System.IO.File.ReadAllText("jsonFile.json");
var objects = JArray.Parse(json); // parse as array
foreach (JObject root in objects)
{
foreach (KeyValuePair<string, JToken> app in root)
{
}
}
但是,如何解析标记并使用其中的文本,同时根据标记对文本进行样式化?
您需要将它们解析为XML,因为这是文本字段中的内容。您可以使用内置的XML解析器来完成此操作。XmlDocument,它确实有点复杂但你使用的不仅仅是JSON所以这是给定的
从脚本读取到xml.
System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
xml.LoadXml( jsonFieldText /*"<big><b>textn</b></big>"*/ );
从这里可以使用Xpath或循环来计算树结构。