コード例 #1
0
    /// <summary>
    /// Get Attributes of single process device.
    /// </summary>
    /// <param name="requestAnswer">HTTP response after SPARQL request</param>
    /// <param name="currentObject">Current LinkdDataObject</param>
    /// <param name="loopcounter">Actual loop counter </param>
    public LinkedDataObject getSingleProcessDeviceDecoder(LinkedDataObject currentObject)
    {
        string inputHtml     = getSingleProcessDeviceSPARQLRequest(currentObject.SparqlURL);         // get Linked Data request
        string requestAnswer = getHTTPReq(preURL + System.Uri.EscapeDataString(inputHtml) + endURL); // request linked data server and get answer
        //Debug.Log("RequestAnswer: " + requestAnswer);
        XmlDocument xml = new XmlDocument();                                                         // new xml object

        xml.LoadXml(requestAnswer);                                                                  // translate string in xml
        // TODO Serialisierung?
        XmlNodeList dataNode = xml.SelectNodes("/table/tr/td");                                      // parse xml document

        //Debug.Log ("XMLNODELIST: " + dataNode.Item(0).InnerText);
        //Debug.Log ("Länge XMLNODELIST: " + dataNode.Count);

        // Save
        if ((dataNode.Count % 3) == 0)
        {
            for (int i = 0; i < dataNode.Count; i = i + 3)
            {
                currentObject.addAttribute(dataNode.Item(i).InnerText, dataNode.Item(i + 1).InnerText, dataNode.Item(i + 2).InnerText);
                //linkedDataModule[loopcounter] = currentObject;
            }
            ;
            //Debug.Log("Listenelement: " + processDevice.getLinkedDataObject()[5].getAll());
        }
        else
        {
            Debug.Log("Error in XML!");
        }
        return(currentObject);
    }