コード例 #1
0
ファイル: XmlRowNodeReader.cs プロジェクト: yulihzn/MyProject
        public Data.RowNode getRowNode()
        {
            int count = 0;
            int ssIndex;

            Data.RowNode         rowNode   = new Data.RowNode();
            List <Data.CellNode> cellNodes = new List <Data.CellNode>();

            Data.CellNode keyNode = null;
            foreach (XmlElement cellElement in _rowElement.GetElementsByTagName("Cell"))
            {
                if (cellElement.GetAttribute("ss:Index") != "")
                {
                    ssIndex = Int32.Parse(cellElement.GetAttribute("ss:Index"));
                    while (count < ssIndex - 1)
                    {
                        cellNodes.Add(null);
                        count++;
                    }
                }
                if (_isKeyRow)
                {
                    _cellNodeReader = new XmlCellNodeReader(cellElement, _tableNode.getSheetName());
                    if (_cellNodeReader.getCellNode() == null)
                    {
                        continue;
                    }
                    rowNode.addCellNode(_cellNodeReader.getCellNode());
                }
                else
                {
                    //这边判断是不是key和output
                    string key = _tableNode.getKeyStrByIndex(count);
                    _cellNodeReader = new XmlCellNodeReader(cellElement, _tableNode.getSheetName(), key);
                    if (_cellNodeReader.getCellNode() == null)
                    {
                        continue;
                    }
                    code.Data.TranslateFileData.TranslateData translateData = _tableNode.getTranslateData();
                    if (translateData.key == key)
                    {
                        keyNode = _cellNodeReader.getCellNode();
                    }
                    if (translateData.outputStrs.Contains(key))
                    {
                        cellNodes.Add(_cellNodeReader.getCellNode());
                    }
                }
                count++;
            }
            if (!_isKeyRow)
            {
                rowNode.addCellNode(keyNode);
                for (int i = 0; i < cellNodes.Count; i++)
                {
                    rowNode.addCellNode(cellNodes[i]);
                }
            }
            return(rowNode);
        }
コード例 #2
0
        public string ObjectString(Data.RowNode dataRowNode)
        {
            string            returnStr;
            int               count         = 0;
            LuaCellNodeWriter cellNodeWrite = new LuaCellNodeWriter();

            if (dataRowNode.getCellNodeList().Count == 0 || dataRowNode.getCellNodeList()[0] == null)
            {
                return(null);
            }
            string key = dataRowNode.getCellNodeList()[0].getData().ToString();

            if (key == int.Parse(key).ToString())
            {
                returnStr = GlobalData.getLuaRowBlock() + "{";
            }
            else
            {
                returnStr = GlobalData.getLuaRowBlock() + dataRowNode.getCellNodeList()[0].getData() + " = {";
            }
            for (int i = 1; i < dataRowNode.getCellNodeList().Count; i++)
            {
                if (dataRowNode.getCellNodeList()[i] == null)
                {
                    continue;
                }
                returnStr = returnStr + ((count == 0) ? "\r\n" : ",\r\n")
                            + cellNodeWrite.getString(dataRowNode.getCellNodeList()[i]);
                count++;
            }
            returnStr = returnStr + "\r\n" + GlobalData.getLuaRowBlock() + "    " + "}";
            return(returnStr);
        }
コード例 #3
0
        //获取Unity解析Dict形式Json所需要的keys
        public string UnityGetKeyString(Data.RowNode dataRowNode)
        {
            JsonCellNodeWriter cellNodeWrite = new JsonCellNodeWriter();

            if (dataRowNode.getCellNodeList().Count == 0 || dataRowNode.getCellNodeList()[0] == null)
            {
                return(null);
            }
            return(GlobalData.getJsonRowBlock() + "    " + '"' + dataRowNode.getCellNodeList()[0].getData() + '"');
        }
コード例 #4
0
        public Data.RowNode getRowNode()
        {
            Data.RowNode         rowNode   = new Data.RowNode();
            List <Data.CellNode> cellNodes = new List <Data.CellNode>();

            Data.CellNode       keyNode = null;
            ExcelCellNodeReader excelCellNodeReader;

            for (int i = _row.FirstCellNum; i < _row.LastCellNum; i++)
            {
                ICell cell = _row.GetCell(i);
                if (cell == null)
                {
                    cellNodes.Add(null);
                }
                else if (_isKeyRow)
                {
                    excelCellNodeReader = new ExcelCellNodeReader(cell, _tableNode.getSheetName());
                    rowNode.addCellNode(excelCellNodeReader.getCellNode());
                }
                else
                {
                    //这边判断是不是key和output
                    string key = _tableNode.getKeyStrByIndex(i);
                    if (key == null)
                    {
                        continue;
                    }
                    excelCellNodeReader = new ExcelCellNodeReader(cell, _tableNode.getSheetName(), key);
                    Data.TranslateFileData.TranslateData translateData = _tableNode.getTranslateData();
                    if (translateData.key == key)
                    {
                        keyNode = excelCellNodeReader.getCellNode();
                    }
                    if (translateData.outputStrs.Contains(key))
                    {
                        cellNodes.Add(excelCellNodeReader.getCellNode());
                    }
                }
            }
            if (!_isKeyRow)
            {
                rowNode.addCellNode(keyNode);
                for (int i = 0; i < cellNodes.Count; i++)
                {
                    rowNode.addCellNode(cellNodes[i]);
                }
            }
            return(rowNode);
        }
コード例 #5
0
        public string ObjectString(Data.RowNode dataRowNode)
        {
            string             returnStr;
            int                count         = 0;
            JsonCellNodeWriter cellNodeWrite = new JsonCellNodeWriter();

            if (dataRowNode.getCellNodeList().Count == 0 || dataRowNode.getCellNodeList()[0] == null)
            {
                return(null);
            }
            returnStr = GlobalData.getJsonRowBlock() + '"' + dataRowNode.getCellNodeList()[0].getData() + '"' + ": {";
            for (int i = 1; i < dataRowNode.getCellNodeList().Count; i++)
            {
                if (dataRowNode.getCellNodeList()[i] == null)
                {
                    continue;
                }
                returnStr = returnStr + ((count == 0) ? "\r\n" : ",\r\n")
                            + cellNodeWrite.getString(dataRowNode.getCellNodeList()[i]);
                count++;
            }
            returnStr = returnStr + "\r\n" + GlobalData.getJsonRowBlock() + "    " + "}";
            return(returnStr);
        }