public void Test() { HttpInputItem item = new HttpInputItem("Name", "Value"); Assert.Equal("Value", item.Value); item.Add("value2"); Assert.Equal(item.Values.Count, 2); Assert.Equal("value2", item.Values[1]); item.Add("subName", "subValue"); Assert.Equal("subValue", item["subName"].Value); }
public void TestSubItems() { _item.Add("user[name]", "jonas"); HttpInputItem item = _item["user"]; Assert.Equal(null, item.Value); HttpInputItem item2 = item["name"]; Assert.Equal("jonas", item2.Value); Assert.Equal("jonas", item["name"].Value); Assert.Equal(item["name"].Name, "name"); }
/// <summary> /// Recursive function that will go through an xml element and store it's content /// to the form item. /// </summary> /// <param name="item">(parent) Item in form that content should be added to.</param> /// <param name="node">Node that should be parsed.</param> public void TraverseNode(IHttpInput item, XmlNode node) { // Add text node content to previous item if (node.Name == "#text") { HttpInputItem formItem = item as HttpInputItem; if (formItem != null) { formItem.Add(node.InnerText.Trim()); return; } } string name = node.Name.ToLower(); item.Add(name, node.Value); IHttpInput myItem = item[name]; if (node.Attributes != null) { foreach (XmlAttribute attribute in node.Attributes) { myItem.Add(attribute.Name.ToLower(), attribute.Value); } } foreach (XmlNode childNode in node.ChildNodes) { TraverseNode(myItem, childNode); } }